当我们使用selenium循环点击列表页上的详情页链接时,只能点击一个,而 driver.back()后要点击进入第二个详情页链接时,报错。
因为进入到详情页后再driver.back()回到列表页,此时列表页已经刷新,所以之前的代码不具备想要的效果。(个人理解)
刚开始我是直接循环点击,代码如下:
for click_div in driver.find_elements(By.CLASS_NAME, 'xxxx'):
click_div.click()
driver.back()
改进后:
click_div = driver.find_elements(By.CLASS_NAME, 'xxxx')
for k in range(len(click_div)):
sleep(3)
click_div[k].click()
driver.back()
.
.
.
# 退回列表页后需要重新获取一次
click_div = driver.find_elements(By.CLASS_NAME, 'xxxx')
欢迎指指点点。