如何解决使用Selenium在下一页的列表中抓取循环
Scraping next pages issue with selenium
有点相似,但我不想通过与 bs4 一起使用而使它变得更复杂
我想在每一页上抓取所有 10 个标题(pdf 的链接)。这是引发 StaleElementReferenceException 的代码:消息:过时元素引用:元素未附加到页面文档(在 i.click()
处)
driver.find_element_by_css_selector('button[class="btn btn-primary"][type="submit"]').click()
for j in range(10):
pdfs = driver.find_elements_by_css_selector(".title a")
if j < 10:
nextpg = driver.find_element_by_css_selector(".tx-pagebrowse-page button")
pdfs = driver.find_elements_by_css_selector(".title a")
for i in pdfs:
i.click()
time.sleep(5)
if j < 10:
nextpg.click()
else:
break
pdfs = driver.find_elements_by_css_selector(".title a")
print(type(pdfs))
for my_pdf in pdfs:
print(my_pdf.get_attribute('innerHTML'))
<class 'list'>
dfhgadr asfdgsd
sDF SDF
SDFSDF sdf
SDF DSfdf
SDFD sdf
SDFSdf fdf
zewr4
sHSDFG
RSZJRT
dhff fgf
解决方法
代替 pdfs[[i]].click() 你可以尝试如下:
i.click()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。