用class_name的话,为什么我的代码number不会变?for number in range(1,120): allfilmxpath = f'//*[@id="app"]/div/div[2]/ul/li[{number}]/a' filmname = driver.find_element(By.CLASS_NAME,'drc-subject-info-title-text') score = driver.find_element(By.CLASS_NAME,'drc-rating-num') print(filmname.text) print(score.text)
时间: 2024-03-24 07:40:23 浏览: 79
计算机二级Python行文代码_1.zip
在您的代码中,虽然使用了 `range(1, 120)` 来遍历 1 到 119 的所有整数,但是在循环内部,您每次都是使用相同的 XPATH 来查找电影名称和评分,这就导致了您无法获取到不同电影的名称和评分。
您需要在每次循环内部使用新的 XPATH 来查找电影名称和评分,可以根据当前的 number 值来构造新的 XPATH。以下是修改后的代码:
```
for number in range(1, 121):
allfilmxpath = f'//*[@id="app"]/div/div[2]/ul/li[{number}]/a'
film_element = driver.find_element(By.XPATH, allfilmxpath)
film_element.click()
filmname = driver.find_element(By.CLASS_NAME, 'drc-subject-info-title-text')
score = driver.find_element(By.CLASS_NAME, 'drc-rating-num')
print(filmname.text)
print(score.text)
driver.back()
```
在这个修改后的代码中,我们使用当前的 number 值来构造新的 XPATH,然后在每次循环内部使用新的 XPATH 来查找电影名称和评分。
阅读全文