Selenium WebDriverWait需要很长时间才能在页面上找到元素

时间:2014-07-15 16:33:59

标签: python selenium

WebDriverWait(driver, 90).until(EC.presence_of_element_located((
    By.ID,
    'something-important',
)))
thing = driver.find_element_by_id(
    'something-important',
).text

此时,我刚刚关注了一个新​​页面的链接,因此页面正在加载,我不能立即从新页面中获取“东西”。我知道我需要在这里使用等待,但等待时间太长,无法找到该元素。

想要超时,因为页面可能需要很长时间才能加载,我需要处理它。此外,如果它需要太长时间,我希望它因超时异常而失败。

然而,在绝大多数情况下,元素在3秒内在页面中,但Selenium会阻塞大约30秒,等待它出现。我可以看到它是,并且我可以在浏览器中确认它在那里,等待返回只需要很长时间。我怎么阻止这个?如果元素在3秒内出现,那么很快就会停止阻塞。

我尝试手动设置0.5秒的轮询频率,这显然是Python selenium绑定的默认值,但这没有帮助。

这个问题似乎与When the page load for the first time , webdriver takes a long time to find the first element非常相似 - 但是那个问题没有得到解答,到目前为止的信息还没有帮助我找到解决方案。

0 个答案:

没有答案