0

问题- 获取“元素不再附加到 DOM”

方法- 1. 检查该元素是否显示在网页上 2. 尝试点击该元素

代码-

System.out.println("boolean value of Confirm order is" +driver.findElement(By.id("confirmOrder")).isDisplayed());
if (driver.findElement(By.id("confirmOrder")).isDisplayed() == true) {          driver.findElement(By.id("confirmOrder")).click();
//driver.findElement(By.id("confirmOrder")).sendKeys("{Enter}");
//actions.moveToElement(driver.findElement(By.id("confirmOrder"))).build().perform();
//actions.click().perform();
System.out.println("button clicked");
}

确认订单为真按钮的输出布尔值单击

尝试了几种方法,但似乎都没有奏效。任何帮助表示赞赏。

4

2 回答 2

0

我认为您没有使用隐式或显式等待,请参阅此以获取更多信息,对此问题提供了非常简洁的解释...

于 2013-10-31T04:39:47.300 回答
0

在 Windows 7 上,某些 Web 元素(例如按钮)不会使用以下代码行单击:- driver.findElement(By.id("ButtonID")).click();

也尝试过使用 XPath,但这并不总是有效。

以下是列出 Windows 7 问题的线程:https ://code.google.com/p/selenium/issues/detail?id=6112

这是解决方法:-

WebElement element = driver.findElement(By.id("ButtonID"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
于 2013-11-18T14:08:55.787 回答