
[英]StaleElementReferenceException in python selenium
[英]Selenium Python: StaleElementReferenceException with a twist
我遇到了與硒有關的臭名昭著的StaleElementReferceExeption錯誤。 我已經檢查了有關該主題的先前問題,並且常見的解決方案是添加和implicit.wait,explicit.wait或time.sleep來給網站加載時間。 我已經嘗試過了,但是仍然遇到錯誤。 誰能說出問題所在
這是我的代碼:
links = driver.find_elements_by_css_selector("a.overline-productName")
time.sleep(2)
#finds pricing data of links on page
link_count = 0
for element in links:
links[link_count].click()
cents = driver.find_element_by_css_selector("span.cents")
dollar = driver.find_element_by_css_selector("span.dollar")
text_price = dollar.text + "." + cents.text
price = float(text_price)
print(price)
print(link_count)
driver.execute_script("window.history.go(-1)")
link_count = link_count + 1
time.sleep(5)
我想念什么?
您正在將鏈接存儲在列表中。 第二個您跟隨到另一個頁面的鏈接,那組鏈接是陳舊的。 因此,循環中的下一個迭代將嘗試從列表中單擊陳舊的鏈接。
即使您像稍后那樣返回歷史記錄,該原始元素引用也已消失。
最好的選擇是根據索引進行遍歷,並在每次返回頁面時找到鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.