我是 Selenium 的新手,需要抓取一個(gè)網(wǎng)站,其中包含一個(gè)結(jié)構(gòu)完全如下的鏈接列表:<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>......我需要在循環(huán)內(nèi)單擊此鏈接列表并從結(jié)果頁面中抓取數(shù)據(jù)。到目前為止我所做的是: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)它適用于第一個(gè)循環(huán),但當(dāng)?shù)诙€(gè)循環(huán)到達(dá)時(shí)print(lis.text)它拋出一個(gè)錯誤說:StaleElementReferenceException:消息:過時(shí)的元素引用:元素未附加到頁面文檔我試過了print (lists),它提供了所有鏈接元素的列表,所以工作正常。當(dāng)瀏覽器返回上一頁時(shí)會出現(xiàn)問題。我試過延長時(shí)間并使用browser.get(...)而不是,browser.back()但錯誤仍然存在。我不明白為什么它不會打印,lis.text因?yàn)榱斜砣匀话性氐牧斜?。任何幫助將不勝感激?
使用 Selenium + Python 遍歷鏈接并從結(jié)果頁面中抓取數(shù)據(jù)
慕田峪9158850
2021-11-02 16:49:04