5

我想使用 selenium webdriver (java) 测试一个站点,但是该站点包含 ajax 并且 HTMLUnit 看不到 ajax 内容。

有解决方法吗?

例子:

WebDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);
//login into your account
this.login(driver);
//click on edit Profile Link into an ajax-loaded tab
driver.findElement(By.id("editProfile")).click();
//Result: org.openqa.selenium.NoSuchElementException 
4

1 回答 1

5

在与元素交互之前使用等待条件必须出现在 ajax 响应之后。

WebDriverWait wait = new WebDriverWait(webDriver, 5);
 wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("xpath_to_element")));

这使 webDriver 在 5 秒内等待您的元素。这个问题之前被问过。

于 2012-04-11T11:38:23.303 回答