1

当我使用 selenium 进行自动化时,我发现有时我会得到异常:

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

我不知道发生了什么。

我试图谷歌,但我找不到原因。

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)

“消息:超时(会话信息:无头 chrome=77.0.3865.50)”,有时我会得到异常,但一般不会。

4

1 回答 1

1

此错误消息...

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

...意味着ChromeDriver实例在尝试定位通过headless chrome=77.0呈现的所需元素时超时


有关以下方面的更多信息:

  • Selenium客户端版本
  • Chrome驱动程序版本
  • 相关HTML DOM

会帮助我们以更好的方式调试问题。


但是,可能元素存在但href属性未在DOM Tree中呈现。由于您的用例是检索WebElement的href属性,因此理想情况下,您需要为visibility_of_element_located(). 所以你的有效代码块如下:

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一起引入不会通过控制台上的原始消息。

于 2019-10-03T12:39:05.923 回答