当前位置: 首页 > 知识库问答 >
问题:

Selenium等待加载页上不存在的元素

梁宪
2023-03-14

我正试图使用Selenium来废除google maps,不幸的是,它不太好用,元素不在页面加载上,是在点击某个按钮后添加的,但似乎元素在寻找时并不总是加载。(我指的是在进行特定搜索时,点击商店、餐馆后出现的旋转木马项目)

    null

共有1个答案

谢俊力
2023-03-14

您可以让web驱动程序一直等到元素可单击为止。你试过吗?

element = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.ID, "myElement")))

或者是一种更好的方法,正如这里所指出的那样

element = WebDriverWait(driver, 20).until(
EC.element_to_be_clickable((By.XPATH, "myXpath")))

 类似资料:
  • Selenium的SafariDriver似乎不会等待网页加载。我的测试如下: 如果您使用或运行此功能,它将正常运行,即搜索“您好世界”,然后在结果页面上转到图像结果。 使用,它会失败: 找不到的元素是“Images”,因为页面在运行该语句之前没有加载。 这是预期行为吗?我应该是狩猎旅行的特例吗?

  • 我经常遇到Selenium的问题,脚本崩溃,因为我想访问尚未加载的元素。 目前我是这样做的,我在这些地方之前放了一个,但有时需要更长或更短的时间才能加载元素。 有没有办法等到元素加载完毕,一旦加载,立即继续执行其余的代码?

  • 问题内容: 我编写了一个脚本,该脚本从页面中获取数据,但是有时页面需要花费一些时间来加载,因此当将html拉到汤对象中时,有时它什么也不会拉,因为页面仍然需要完成。 我编写了以下代码以等待页面完成。 有用 但是调用函数时出现以下错误; 问题答案: 我认为您应该这样使用: 如手册所述。

  • 问题内容: 您如何使Selenium 2.0等待页面加载? 问题答案: 你可以期望显示一些元素。类似于C#:

  • 问题内容: 您如何使Selenium 2.0等待页面加载? 问题答案: 您还可以使用以下代码检查页面加载

  • 问题内容: 使用Selenium2Driver将Behat与Mink结合使用时,是否有办法可靠地等待页面加载? 我继承了一些旧的测试,像这样等待: 即仅此一次测试就需要1分钟30秒。 我想做的是有一种通用的方式来等待上一次单击以导致页面加载,而不必每次都等待大量固定的时间。 我可以看到等待页面加载的所有建议,都涉及检查是否已加载特定页面元素。 但是,这些测试是针对各种传统网站运行的,这些网站中并不