当我使用硒来自动化时,我发现有时我会得到异常:
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)
"消息:超时(会话信息:无头铬=77.0.3865.50(", 有时我会得到例外,但一般来说不会。
此错误消息...
Message: timeout (Session info: headless chrome=77.0.3865.50)
。意味着ChromeDriver实例在尝试查找通过无外设 chrome=77.0呈现的所需元素时超时。
有关以下内容的更多信息:
- 硒客户端版本
- ChromeDriver版本
- 相关网页文档
会帮助我们以更好的方式调试问题。
但是,该元素可能存在,但href属性未在 DOM 树中呈现。由于您的用例是检索 WebElement 的href属性,理想情况下,您需要诱导WebDriverWaitfor thevisibility_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和ExpectConditions不会通过控制台上的原始消息。