2015-04-07 3 views
1

Я получаю сообщение «StaleElementReferenceException: Message: stale element: элемент не привязан к документу страницы». Мой код ниже.Ошибка Selenium Stale Element: проблемы Автоматизация Google

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/за исключением таких:

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 

Это не решить мою проблему. Фактически, он просто съел много процессора, поскольку он просто ждал и ждал.

Любые идеи о том, как обойти это?

+0

Пожалуйста отправьте соответствующий HTML вы имеете дело с. – LittlePanda

+0

@LittlePanda Это любой термин, который я ищу в google. Так что если компания = microsoft, то у меня будет эта проблема. – ohbrobig

ответ

0

Почему бы не использовать time.sleep, а затем input = browser.find_element_by_id('q')

+0

Это нехорошее исправление. Он питается процессором и компьютерными ресурсами. Хотя это работает, я знаю, что есть лучший способ справиться с этим. – ohbrobig

Смежные вопросы