问题标签 [expected-condition]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6318 浏览

python - 硒 - text_to_be_present_in_element 和 text_to_be_present_in_element_value 之间的区别

你能用一个例子来说明text_to_be_present_in_elementtext_to_be_present_in_element_value用一个例子之间的区别吗,最好是在 python 中?

以下链接似乎解释了 text_to_be_present_in_element 的工作原理,但我仍然不清楚。

http://www.seleniumframework.com/python-basic/waits-and-synchronization/

0 投票
1 回答
51 浏览

python - EC 不使用来自另一个文件的定位器

我正在尝试将我的定位器与页面对象类分开。它与 driver.find_element 完美配合。但是,如果我尝试将它与 EC 一起使用,例如self.wait.until(EC.visibility_of_element_located(*OrderLocators.file_upload_in_process))

我收到这个错误

我的测试方法

页面对象类

定位器

0 投票
1 回答
175 浏览

java - Selenium 预期条件,Webdriver 的实例从何而来?

我正在努力弄清楚 WebDriver 实例是如何传递给 Selenium 的预期条件的。

所以我有一个简单的 WebDriverWait 用于 web 元素的可见性:

这里的 webDriver 实例是上面已经实例化的 chromedriver。

我的问题是:在方法 visibilityOf() 中:

就在上面,如何以及哪个 WebDriver 实例被传递给 apply()?我了解 ExpectedCondition 实现了函数接口

它将 WebDriver 作为第一个参数。

WebDriver 的实例如何传递给 visibilytOf() 的 ExpectedCondition?

谢谢

0 投票
2 回答
3517 浏览

java - Selenium 等待 ExpectedConditions.attributeToBe 的行为不符合预期

我正在尝试对元素属性执行 wait.until ,如下所示...

我从打印行知道该属性与预期的一样,即“top:0px;” 但是当我单步执行wait.until中的代码时,UI中的元素被“单击”并更改为关闭(在这种情况下,样式更改为“top:120px;”)。然后该方法从头开始,然后失败,因为它现在是错误的。

任何有关为什么该方法重新运行和更改值的帮助将不胜感激。

我也试过...

但这因其他原因而失败,因此尝试了替代方案。

0 投票
1 回答
2237 浏览

java - ExpectedConditions.refresh 和 ExpectedConditions.stalenessof 有什么区别

你能帮我理解ExpectedConditions.refreshand吗ExpectedConditions.stalenessOf

0 投票
1 回答
1672 浏览

python - EC.presence_of_element_located not 和 WebDriverWait 导致 Python 的 selenium 中出现“其他元素将收到点击:...”错误

浏览通过 JS 呈现的网页 ( https://www.hertz.com/rentacar/location )。放置time.sleep(random.randint(5, 10))导致成功单击元素,而我的waiter功能(如下所示)导致Other element would receive the click:错误。

该脚本在每次选择和单击之前成功地使用了美国每个州的每个城市的每个赫兹位置,time.sleep但我认为这是一种不好的做法,并且由于睡眠需要花费数小时才能完成。

完整的错误文本:

元素 HTML(这发生在其他类似元素上)

在我的waiter功能中,我已替换presence_of_element_located为: visibility_of_element_located element_to_be_clickable

并收到同样的错误。

我也试过

.send_keys(selenium.webdriver.common.keys.Keys.SPACE)

代替

.click()

无济于事

这是我的waiter功能

这有效

这不

我希望我的服务员功能能够成功确保该元素是可点击的,而不会造成睡眠功能的潜在时间浪费/不可靠性。唉,没有这样的现实。

0 投票
1 回答
649 浏览

python - Selenium 预期条件 - 等待 xpath 可用 - 我不知道如何在我的代码中键入它

我是 Scott,对 python 还有些陌生,仍在试图弄清楚它是如何工作的……哈哈

我有一个脚本可以登录网站进行工作,点击一些对象,然后根据点击的设置提取报告

我遇到的问题是有时服务器很忙,所以事情需要不同的时间才能出现......有些项目在下拉菜单被激活之前是不可点击的......等等,所以我需要脚本等待每个对象的 xpath 变为可用

我不明白明确的等待用法

目前的代码很丑陋,因为我对 time.sleep 和其他各种东西的使用不好。

下面包含的代码...但这是我需要它等待的示例我需要插入显式等待将等待元素变为可用

提前感谢您的所有帮助,在此论坛的帮助下,我已经解决了脚本中的许多其他问题

0 投票
2 回答
548 浏览

java - 如何在 selenium 中创建等待 web 元素完成刷新的等待

我对 Selenium 相当陌生,我正在为使用它的 Web 应用程序编写测试。在此过程中,我使用断言来确保 Web 应用程序正常工作。对于其中一些断言,我在一个 web 元素上断言,该元素具有一个已知预期数字的数值。问题是当进行更改以更改此数值时,更改会根据互联网连接的速度逐渐发生。到目前为止,在我使用断言之前已经诉诸于使用睡眠来等待元素完成刷新,但我想这样做,所以这个等待不会超过元素停止刷新所需的时间,因此不必包括太短或太长的睡眠。

0 投票
1 回答
1163 浏览

java - 等到元素中出现的文本不是提供的字符串

我正在寻找一种方法让 selenium webdriver 等到我感兴趣的元素位置中出现的文本不是下面代码中提供的字符串。

我正在寻找一种“要显示的文本”不是“成功完成”的方式,以便代码可以继续前进而不再等待

0 投票
4 回答
39070 浏览

python - 你如何使用 EC.presence_of_element_located((By.ID, "myDynamicElement")) 除了指定类而不是 ID

我正在尝试使用 Python 来抓取一个网站,该网站通过使用嵌入的 javascript 文件来动态加载它的 HTML,这些文件将数据作为响应呈现到 HTML 中。因此,如果我单独使用 BeautifulSoup,我将无法检索我需要的数据,因为我的程序会在 Javascript 加载数据之前抓取它。因此,我将 selenium 库集成到我的代码中,以使我的程序等到找到某个元素后再抓取网站。

我最初是这样做的:

但是我想通过执行以下操作来指定一个类:

这是我的其余代码:

它对我不起作用,我在任何地方都找不到正确的语法。