问题标签 [webdriverwait]

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 投票
3 回答
680 浏览

angularjs - 量角器 - 等待元素/页面加载/角度

我有这样的等待:

我总是超时。我试图改变时间 - 10/20/30 秒,但没有奏效。视觉页面可见,所有输入和按钮都可见,但我得到了超时。 我登录到http://user:password@domain.com之类的页面

有人可以帮我吗?

0 投票
2 回答
352 浏览

java - Java WebDriverWait 如何获取持续时间

我目前正在将 C# Selenium 框架翻译成 Java。在该框架中,我有一个返回当前 WebDriverWait 的属性;

private WebDriverWait elementFindTimings;
.
.
.
public TimeSpan FindTimeout { get { return elementFindTimings.Timeout; } }

我已将其翻译为 Java get 方法;

private WebDriverWait elementFindTimings;
.
.
.
\\ The .getTimeout() method does not exist in the WebDriverWait class, I've
\\ put it in for example of what I'm trying to do.
public Duration getFindTimeout() { return elementFindTimings.getTimeout(); }

但是,Java WebDriverWait(扩展了 FluentWait 实现 Wait)似乎没有使我能够获取 Duration 值的方法。显然我在这里遗漏了一些东西,因为使用 WebDriverWait 的 WebDriver 代码需要获取持续时间。作为 Java 新手,我可能在这里遗漏了一个关键的 Java 语言。那么,如何获得 WebDriverWait 持续时间?

0 投票
1 回答
2365 浏览

python - Appium Python WebDriverWait wait.until(expected_conditions.alert_is_present()) 随机失败

我有一个 Appium 测试类测试一个 iOS 应用程序,里面有两个几乎相同的测试:

当我运行测试test_fail(它在test_normal之前首先运行)时,它总是无法捕获带有错误的警告对话框:

WebDriverException:消息:处理命令时发生未知的服务器端错误。原始错误:尝试在未打开的模式对话框上进行操作。

*test_normal 虽然有效。我试图注释掉test_normaltest_fail会失败并显示相同的消息。

然后我尝试注释掉test_fail,但这次test_normal会起作用。因此,出于某种奇怪的原因,test_fail无法使用self.wait.until(expected_conditions.alert_is_present())

但是,如果我替换test_fail测试 wait.until 行:

和:

然后一切都会奏效。

self.wait 在 def setUp(self) 中声明self.wait = WebDriverWait(self.driver, 120)

我在 Mac OS X 上运行 Appium 1.7.2 (Appium GUI 1.4.0)。测试 iOS 在 OS 11.2 的 iPhone 7 模拟器上运行。

错误堆栈跟踪:

谁能帮我弄清楚发生了什么?

test_normal 对话框屏幕图像 test_normal 对话框的图像

test_fail 对话框屏幕图像 test_fail 对话框的图像

0 投票
1 回答
3929 浏览

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

我必须处理这样的表:

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

我试过类似的东西

但结果为 0。

0 投票
1 回答
167 浏览

java - 如何单击 iFrame 中的链接以打开新选项卡并切换到该选项卡

我正在开发一个项目,其中包括单击一个链接并且应该使用 webdriver 在新选项卡中打开,问题是

  1. 假定的链接包含在 iFrame 中,因此shift+click不起作用

    /li>
  2. 我找不到该href属性,因为某些 javascript 函数正在使用某些方法打开它onClick()

问题:- 它只是在同一选项卡中打开所需的页面。

现在,我找不到与此相关的任何内容,请帮助..!

其他相关信息 我正在使用 Windows 7、Java 8、ChromeDriver

0 投票
1 回答
896 浏览

selenium-webdriver - 显式等待 webdriver 在 appium 1.7.2 中不起作用

我创建了一个实用程序类,其中有:

我的主要登录类别有:

它们都在同一个包中。元素ele在登录前后的两个页面上都存在。等待不起作用,但是,如果我使用Thread.sleep它,我可以截屏。

谁能告诉我我的代码有什么问题?或者如果Thread.sleep经常使用可以让它工作?

0 投票
1 回答
158 浏览

cordova - 用于等待元素可用于 Apache Cordova Webview 驱动的应用程序的 Java Wrapper 方法

对于基于多个 Webview 的移动应用程序(使用 Cordova、PhoneGap、XCode 构建的 iOS 应用程序),我创建了以下方法来检查元素是否存在。请建议以下片段是否有意义?因为基于传统显式等待的传统包装函数不能可靠地工作。

谢谢

0 投票
1 回答
9437 浏览

python - WebDriverWait 未按预期工作

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

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

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

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

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

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

我的代码在这里

0 投票
2 回答
3261 浏览

selenium - Webdriver等待不抛出超时异常

嗨,我正在尝试在硒测试中使用 webdriver。我想检查它是如何工作的。我给了 5 秒作为 webdriver 等待的最长时间。我的页面加载时间超过 7 秒,但我仍然没有从 webdriver 等待中得到任何超时异常。我也在给我的控制台输出。请告诉我为什么我没有收到超时异常?

控制台输出:

尝试 1:

尝试 2:

尝试 3:

尝试 4:

0 投票
3 回答
612 浏览

selenium - 等待元素一段时间

我在测试自动化实施过程中遇到了一个问题。特别是测试检查是否显示汉堡菜单。到目前为止,我定义了元素和子元素,我只需要等待一秒钟,而不是浪费时间如果我知道该元素在几秒钟后不会显示。

如何以在一秒钟内尝试查找元素的方式实现方法 findElement?我不想待太久...谢谢