【发布时间】:2019-10-13 00:58:23
【问题描述】:
我正在使用 selenium 来抓取网页。网络类似于谷歌地图,我需要输入一个开始位置和结束位置,然后得到结果。网页加载缓慢,有时会停止响应。所以我尝试使用 WebDriverWait 来捕获超时异常并重新启动网页。
然而,事实上,如果网页停止响应,webDriverWait 不会抛出超时异常,代码只会永远卡住。 比如上次,我的代码卡在 invisibility_of_element_located 并且即使超时设置为 10s 也没有响应。
WebDriverWait(driver,10).until(EC.invisibility_of_element_located((By.XPATH, "//*[@ng-show='route.isCalculating']")))
【问题讨论】:
-
invisibility_of_element_located 检查元素在 DOM 上是否不可见或不存在的期望可能是条件为真,这就是它不抛出超时异常的原因。由于我对您的代码一无所知,因此我只假设它可能会发生。
标签: python selenium webdriverwait