当我使用硒时,如何解决异常“消息:超时(会话信息:headless chrome = 77.0.3865.50)”?

时间:2019-10-03 08:47:42

标签: python selenium google-chrome selenium-chromedriver webdriverwait

当我使用硒自动化时,我发现有时会出现异常:

Message: timeout   (Session info: headless chrome=77.0.3865.90)

我不知道发生了什么事。

我尝试使用Google,但找不到原因。

try:
    li.click()
    browser.find_element_by_xpath('//div[@class="user-info"]/div[@class="user-info-detail"]/a').get_attribute('href')
except Exception as e:
    print(e)

  

“消息:超时(会话信息:headless chrome = 77.0.3865.50)”,   有时我会得到例外,但总的来说不会。

1 个答案:

答案 0 :(得分:1)

此错误消息...

Message: timeout (Session info: headless chrome=77.0.3865.50)

...表示 ChromeDriver 实例超时,同时尝试查找通过 headless chrome = 77.0 呈现的所需元素。


有关以下方面的更多信息

  • Selenium 客户端版本
  • ChromeDriver 版本
  • 相关HTML DOM

将帮助我们更好地调试问题。


但是,元素可能存在,但<{3}}中未呈现 href 属性。由于您的用例是检索WebElement的 href 属性,因此理想情况下,您需要为visibility_of_element_located()引入 WebDriverWait 。因此,您的有效代码块如下:

try:
    print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='user-info']/div[@class='user-info-detail']/a"))).get_attribute("title"))
except Exception as e:
    print(e)

诱导 WebDriverWait 以及 ExpectedConditions 不会通过控制台上的原始消息。