【发布时间】:2015-04-07 07:17:22
【问题描述】:
我收到“StaleElementReferenceException:消息:过时元素引用:元素未附加到页面文档”。我的代码如下。
browser = webdriver.Chrome()
browser.get('https://www.google.com/')
for i in range(searchrow, numrows):
wait = WebDriverWait(browser, 20)
inputGoogle=wait.until(EC.presence_of_element_located((By.NAME, "q")))
company = sheet.cell_value(i, 1)
inputGoogle.send_keys(company)
inputGoogle.submit()
wait = WebDriverWait(browser, 20)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "cite._Rm")))
domain = browser.find_element_by_css_selector("cite._Rm")
domain = domain.text
我尝试了相同的代码,但使用 try/except 如下:
try:
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "cite._Rm")))
domain = browser.find_element_by_css_selector("cite._Rm")
except: StaleElementReferenceException
continue
它没有解决我的问题。事实上,它只是在等待和等待中消耗了大量的 cpu。
关于如何解决这个问题的任何想法?
【问题讨论】:
-
请发布您正在处理的相关html。
-
@LittlePanda 这是我在谷歌搜索的任何术语。所以如果 company=microsoft,那么我就会遇到这个问题。
标签: python google-chrome selenium selenium-webdriver