Selenium陈旧元素错误:Google自动化问题

时间:2015-04-07 07:17:23

标签: python google-chrome selenium selenium-webdriver

我得到一个" 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:
    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,因为它只是等待和等待。

关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:0)

为什么不使用time.sleep然后使用input = browser.find_element_by_id('q')