【发布时间】:2014-01-16 03:58:50
【问题描述】:
有人知道如何等待页面加载吗?我尝试了我在网上找到的所有可能的变体,但根本不起作用。
我需要在触发 click() 命令后等待,Web 服务器上有一些内部脚本会欺骗检查,例如(我排除了导入所需模块的代码并使用标准命名约定):
WebDriverWait(browser, 10).until(lambda d: d.find_element_by_id(the_id))
或
browser.implicitly_wait(10)
或
elem2=wait.until(EC.presence_of_element_located((By.ID,the_id)))
上述所有检查都不起作用,即使页面仍在加载,它们也会返回 True。这会导致我正在阅读的文本不完整,因为在 click() 命令之后页面没有完全加载。似乎在 python 中,命令 clickAndWait 不可用(但同样,它可能无法解决问题,因为其他测试也失败了)。理想情况下,会有一个命令等待整个网页加载完毕(无论页面的特定元素如何)。
我设法通过在循环中手动插入 time.sleep(5) 来解决问题,但这是次优的,因为它可能会减慢整个过程。如果可能,最好只等待严格要求的时间。
谢谢
【问题讨论】: