我是 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因為列表仍然包含所有元素的列表。任何幫助將不勝感激。
使用 Selenium + Python 遍歷鏈接并從結果頁面中抓取數據
慕田峪9158850
2021-11-02 16:49:04
