2013-10-31 74 views
0

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

方法 - 如果显示网页上的元素 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"); 
} 

输出 确认订单的布尔值IsTrue运算 按钮点击

试过几个方法,但没有似乎是工作。任何帮助表示赞赏。

+0

也试过: - {driver.findElement(By.xpath(“//输入[@ id ='confirmOrder'和@ class ='confirmOrder']“))。click();} –

+0

什么行引发'元素不再附加到DOM'? –

+0

@亚历山大彼得罗维奇 - 我没有得到下面的这种方法的错误,但没有按钮被点击: - 'System.out.println(“通过xpath搜索按钮的布尔值是”+ driver.findElement(By。 xpath(“// input [@ id ='confirmOrder'and @ class ='btn btnPrimary']”))。isDisplayed());' ();(); //输入[@ id ='confirmOrder'和@ class ='btn btnPrimary']“))。click(); –

回答

0

我想你不使用隐性或显性的等待,refer this更多信息,一个非常整洁的解释提供了关于这个问题的...

0

在Windows 7中,某些网络元素,如按钮没有按” t被点击使用下面的代码行: - 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);