为什么我的allfilmxpath中的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 20:40:20 浏览: 92
在您的代码中,allfilmxpath 中的 number 并没有变化,这是因为您没有在每次循环中使用新的 number 值来更新 allfilmxpath。您需要将 allfilmxpath 的赋值放到循环内部,并使用新的 number 值来构造新的 XPATH。
以下是修改后的代码:
```
filmname_xpath = '//h1[@class="drc-subject-info-title-text"]'
score_xpath = '//span[@class="drc-rating-num"]'
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.XPATH, filmname_xpath)
score = driver.find_element(By.XPATH, score_xpath)
print(filmname.text)
print(score.text)
driver.back()
```
在这个修改后的代码中,我们将 allfilmxpath 的赋值放到了循环内部,并使用新的 number 值来构造新的 XPATH。同时,我们还添加了点击电影链接的语句,使得可以进入电影详情页获取电影名称和评分。
阅读全文