硒webdriver在firefox中找不到元素时花费很长时间

时间:2019-04-01 12:58:03

标签: selenium firefox xpath webdriver

我正在使用Selenium Webdriver在firefox / win10中定位元素。
该网页如下。

https://24h.pchome.com.tw/

html源文档中有一个iframe标记,可以使用以下两个xpath访问其元素。

"//iframe[@src='https://www.googletagmanager.com/ns.html?id=GTM-TKSM5PF']"

'//html/body/noscript[1]/iframe[1]'

然后,我使用以下python语句为上述每个xpath定位一次元素。

e = WebDriverWait(driver, 1).until(EC.visibility_of_element_located((By.XPATH, xPath)))         

这种情况是,当可以找到标签时,webdriver将迅速返回该元素。但是对于上述元素,Webdriver无法找到它,大约需要5分钟才能返回。
如您所见,该位置的等待时间设置为1秒。但实际上,这大约需要5分钟。

如果有人可以告诉我如何在定位元素失败时使webdriver快速返回,我将非常感激。

谢谢!

了解

1 个答案:

答案 0 :(得分:0)

很抱歉这个愚蠢的问题。正如Guy所建议的,这是因为webdriverwait.until语句干扰了在其他位置声明的hidden_​​wait()语句。更改了implicitly_wait语句后,问题消失了。