为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Selenium + Python 遍历链接并从结果页面中抓取数据

使用 Selenium + Python 遍历链接并从结果页面中抓取数据

慕田峪9158850 2021-11-02 16:49:04
我是 Selenium 的新手,需要抓取一个网站,其中包含一个结构完全如下的链接列表:<a class="unique" href="...">    <i class="something"></i>    "Text - "    <span class="something">Text</span></a><a class="unique" href="...">    <i class="something"></i>    "Text - "    <span class="something">Text</span></a>......我需要在循环内单击此链接列表并从结果页面中抓取数据。到目前为止我所做的是:lists = browser.find_elements_by_xpath("//a[@class='unique']")for lis in lists:    print(lis.text)    lis.click()    time.sleep(4)    # Scrape data from this page (works fine).    browser.back()    time.sleep(4)它适用于第一个循环,但当第二个循环到达时print(lis.text)它抛出一个错误说:StaleElementReferenceException:消息:过时的元素引用:元素未附加到页面文档我试过了print (lists),它提供了所有链接元素的列表,所以工作正常。当浏览器返回上一页时会出现问题。我试过延长时间并使用browser.get(...)而不是,browser.back()但错误仍然存在。我不明白为什么它不会打印,lis.text因为列表仍然包含所有元素的列表。任何帮助将不胜感激。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 302 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信