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非常相似 - 但是那个问题没有得到解答,到目前为止的信息还没有帮助我找到解决方案。