问题标签 [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 投票
2 回答
921 浏览

java - 在运行时更改对象属性时使用 Selenium 自动化 Ember.js 应用程序

我正在尝试使用 Selenium+TestNg 自动化 Ember.js 应用程序。

应用程序中的下拉列表只有一个对象属性 ID。但是,每次我刷新页面 id 都会发生变化并且没有模式。例如:第一次打开页面 id=ember1398,当我刷新页面时,相同的对象 id 更改为 ember1097。

如果有人能指导我克服这一挑战,我将不胜感激。如有必要,我愿意更改工具/框架。

0 投票
3 回答
23590 浏览

selenium - VisibilityOfElementLocated Vs presenceOfElementLocated

Consider this:

So in case i only wants to get this value is it enough to use presenceOfElementLocated() instead of visibilityOfElementLocated() ?

0 投票
3 回答
3694 浏览

selenium - 等到可见和等到位于 Selenium 之间有什么区别

我同时使用wait(until.elementLocated(element, timeout))wait(until.elementVisible(element, timeout))。“等到可见”在“等到找到”没有的地方失败。为什么?

0 投票
6 回答
111027 浏览

python - 无法单击元素:Splinter / Selenium 中的 ElementClickInterceptedException

我正在尝试抓取页面,但有时我无法单击链接/按钮。

当网页加载时,“loadingWhiteBox”会先出现,然后几秒钟后消失(但它会保留在HTML代码中)只要该框出现在网站上,我无法点击链接和得到以下错误信息:

有没有办法解决这个问题?我已经尝试过使用以下命令:

但是,即使该元素未处于活动状态,它也会存在。

0 投票
1 回答
4972 浏览

selenium - 硒:硒如何识别可见或不可见的元素?是否有可能在 DOM 中加载但未在 UI 上呈现?

  1. 硒:硒如何识别可见或不可见的元素?是否有可能在 DOM 中加载但未在 UI 上呈现?我想验证元素可点击的场景,我知道网络驱动器有方法“ElementToBeClickable”但是,我想知道内部工作。请帮助我。
  2. 另外,如何处理元素在 DOM 中加载但 UI 显示正在加载的情况,如何等待完成加载?
  3. 请让我知道,如果 UI 没有加载,那么 selenium 会直接调用 DOM 元素,或者如果 UI 元素正在加载,那么它会执行失败?我真的很感激对此的更多技术解释。
0 投票
1 回答
3929 浏览

python - 在 Python Selenium WebDriver 中按属性查找元素

我必须处理这样的表:

如何选择所有td具有属性的元素data-sortable-id?我在 Google 搜索中找不到任何关于按属性查找元素的内容(没有值,只有属性自己的名称)。

我试过类似的东西

但结果为 0。

0 投票
1 回答
9437 浏览

python - WebDriverWait 未按预期工作

我正在使用 selenium 来抓取一些数据。

我点击的页面上有一个按钮说“custom_cols”。此按钮为我打开一个窗口,我可以在其中选择我的列。

这个新窗口有时需要一些时间才能打开(大约 5 秒)。所以为了处理这个我用过

延迟为 20 秒。但有时它无法选择在新窗口上查找元素,即使该元素是可见的。这种情况只发生十次,其余时间正常工作。

我也在其他地方使用了相同的功能(WebDriverWait),它按预期工作。我的意思是它会等到元素变得可见,然后在找到它的那一刻点击它。

我的问题是为什么即使我正在等待元素可见,新窗口上的元素也不可见。要在此处添加,我已尝试增加延迟时间,但我仍然偶尔会收到该错误。

我的代码在这里

0 投票
1 回答
402 浏览

javascript - 如何手动使用量角器 ExpectedCondition?

我是量角器的新手,我想创建一个这样的期望:

expect(elementIsVisible).toBe(true);

我看到量角器有EC (expected conditions),即EC.visibilityOf这似乎是我正在寻找的。但是,我不完全确定会visibilityOf返回什么。

我发现文档非常晦涩:

它返回什么?一个Promise或一个预期的条件

好吧,考虑到链接.then触发器then is not a function,它似乎返回了预期的条件。但那是什么?

在所有 Protractor 文档示例中,此返回值用于browser.wait函数中。

我不想那样使用它,我想在我的条件下有一个true/false值。expect

如果我尝试从 Selenium 的示例中找到更多信息,Protractor(一个 javascript 实现)会重定向到Java 文档......

0 投票
2 回答
6626 浏览

python - 硒,是否存在许多元素之一?

建立在如何等到页面被 Selenium for Python 加载的答案的基础上?我正在尝试创建一种方法,该方法允许使用预期条件轮询多个元素的存在。

我在包含以下内容的行上收到错误“布尔”对象不可调用:wait.until(any(expectations))。

思考的过程是允许许多 Xpaths 作为预期条件传递,然后使用any(),以与这个基于 java 的答案类似的方式,尝试使用 selenium xpath 等待页面中的两个元素之一,检查是否任何条件都存在。

在这种情况下使用 any() 的正确方法是什么?或者更好的是,需要做什么才能使这种方法起作用?

假设 Selenium .get('url') 在调用此方法之前已经立即执行。

0 投票
0 回答
118 浏览

selenium - JMeter 中的 WebDriver 采样器中的预期条件接口错误

我想在 WebDriver 采样器中使用 Expected Condition 接口并实现如下应用方法。此脚本用于在单个页面上加载多个图表,但它给了我错误

环境:

有人可以帮忙吗?这是我的代码: