我想在我的代码中使用隐式或显式等待。但它不适用于chrome驱动程序。是否可以使用任何特殊补丁?但同样适用于firefoxdriver。
我的应用程序仅支持chrome,因此我无法选择使用其他浏览器。请帮助我如何使用 - 等 - 加载元素或任何其他解决方案?
答案 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 的所有测试都按照这些步骤正常运行。