在 webdriver 中找不到 ELEMENT,但在 IDE 中有效
ELEMENT not found in webdriver, but works in IDE
我可以在 selenium 运行 中成功 运行 以下脚本 IDE 但 webdriver 可以找到第一个元素。我在本地主机上使用 HP WebTours 应用程序。它是一个简单的 script.At 首先我认为脚本 运行 可能更快但是隐式或显式等待并没有解决问题。
public void testLoginWtour() throws Exception {
WebDriverWait wait = new WebDriverWait(driver,5); //this is explicit wait
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.name("username")) ));
driver.findElement(By.name("username")).sendKeys("jojo");
driver.findElement(By.name("password")).clear();
driver.findElement(By.name("password")).sendKeys("bean");
driver.findElement(By.name("login")).click();
}
应该是"userName"
而不是"username"
这是HTML
<input type="text" name="userName" size="10">
您不需要任何明确的等待。只需将其更改为 "userName"
driver.findElement(By.name("userName")).sendKeys("jojo");
下面也是来自 IDE 的图像。它正在捕获为 "userName"
我可以在 selenium 运行 中成功 运行 以下脚本 IDE 但 webdriver 可以找到第一个元素。我在本地主机上使用 HP WebTours 应用程序。它是一个简单的 script.At 首先我认为脚本 运行 可能更快但是隐式或显式等待并没有解决问题。
public void testLoginWtour() throws Exception {
WebDriverWait wait = new WebDriverWait(driver,5); //this is explicit wait
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.name("username")) ));
driver.findElement(By.name("username")).sendKeys("jojo");
driver.findElement(By.name("password")).clear();
driver.findElement(By.name("password")).sendKeys("bean");
driver.findElement(By.name("login")).click();
}
应该是"userName"
而不是"username"
这是HTML
<input type="text" name="userName" size="10">
您不需要任何明确的等待。只需将其更改为 "userName"
driver.findElement(By.name("userName")).sendKeys("jojo");
下面也是来自 IDE 的图像。它正在捕获为 "userName"