硒等待/睡眠命令 - c#

为什么这个Selenium C#代码不等到元素被加载?

_fireFoxWebDriver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(1000));

我也用Thread.Sleep(5000);
都没有!有人可以向我解释!

参考方案

如果使用Thread.Sleep(5000),则测试将仅等待5秒钟并返回执行。如果需要等待一个不存在或不可见的元素,则应使用WebDriverWait。例:

var timeout = 10000; // in milliseconds
var wait = new WebDriverWait(Driver, TimeSpan.FromMilliseconds(timeout));
wait.Until(ExpectedConditions.ElementIsVisible(By.CssSelector("your-selector")));

另外,如果需要等待页面加载,可以使用以下代码:

var timeout = 10000; // in milliseconds
var wait = new WebDriverWait(Driver, TimeSpan.FromMilliseconds(timeout));
wait.Until(d => ((IJavaScriptExecutor)d).ExecuteScript("return document.readyState").Equals("complete"));

在这两种情况下,查找元素的限制时间都是10秒。如果此时没有找到任何元素,则测试不会通过。否则,如果在5秒钟内找到了一个元素,则代码不会等待所有剩余的秒数,它将继续进行下一个代码行。

这种对我们的等待很有用,因为您无需等待所有的限制时间来查找元素,仅需要必要的时间即可。

Selenium Webdriver(Java)-查找禁用了属性=“”的元素 - java

我有<input id="test" disabled="">。如何找到具有属性disable =“”的元素。附言:在这种情况下,我不需要使用ID。我想找到一个具有禁用属性的元素。我尝试使用String enbl = Login.driver.findElement(By.cssSelector("…

Selenium / C#WebDriverWait不等待 - c#

我有一个网站,其jQuery幻灯片在顶部下方,并列出了我要使用的所有语言:http://testing.bestshippers.com/net/index.aspx,滑块在顶部是“语言选择”按钮。我可以单击它,但是在单击幻灯片中的元素时出现错误。我相信这是因为在尝试选择它们之前,我需要暂停几秒钟。可能是错的吗?我相对较新,但是我已经阅读了有关WebDriv…

Selenium:如何使RemoteDriver始终附加到当前的浏览器选项卡? - javascript

我正在开发一个Windows应用程序,该应用程序可以通过语音命令操纵浏览器。我想适当地处理用户添加一些标签并根据需要更改所选标签的情况。事实证明,RemoteDriver仅与一个选项卡一起使用,并且可以通过提供选项卡手柄将焦点切换到另一个选项卡。但是我不知道如何获取选定的选项卡句柄并始终检查选定的选项卡是否已更改,或者是否存在始终与选定的选项卡一起使用的方法…

Python Selenium:单击下拉菜单中的选项时可以更改值吗? - javascript

我正在使用python硒进行一些搜索。在我查询的一个网页上,搜索对话框允许我通过下拉菜单指定是否要搜索所有部分或特定部分。要选择哪个部分,该站点在弹出窗口中有一些单独的对话框,我可以单击一个部分,然后在内部为下拉菜单中的“此部分”选项分配选定部分的值。这是检查选择器时的外观: <select ...> <option id="se…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…