【发布时间】:2021-07-10 16:06:45
【问题描述】:
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
下面显示第一页是一个type=list 列表,标题正确
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
【问题讨论】:
标签: python-3.x for-loop selenium-webdriver web-scraping list-comprehension