Selenium webdriver - 使用chrome驱动程序隐式等待

时间:2015-05-12 07:40:30

标签: selenium selenium-webdriver

我想在我的代码中使用隐式或显式等待。但它不适用于chrome驱动程序。是否可以使用任何特殊补丁?但同样适用于firefoxdriver。

我的应用程序仅支持chrome,因此我无法选择使用其他浏览器。请帮助我如何使用 - 等 - 加载元素或任何其他解决方案?

2 个答案:

答案 0 :(得分:0)

按照以下方式使用显式等待:

 WebElement Element = (new WebDriverWait(driver, 30))
              .until(ExpectedConditions.elementToBeClickable(By.className("progress_bg")));

Element.click();

您可以使用Id,Xpath或任何其他定位器作为元素。我根据你的评论使用了上面的课程。

答案 1 :(得分:-1)

明确等待

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); 

IWebElement myDynamicElement = wait.Until<IWebElement>((d) => { return d.FindElement(By.Id("someDynamicElement")); });

隐含等待

driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));

另外,请尝试下载最新版本的ChromeDriver- https://code.google.com/p/selenium/wiki/ChromeDriver

将WebDriver NuGet更新为最新版本2.45我认为。

我对 Chrome 的所有测试都按照这些步骤正常运行。