0

問題- 「要素が DOM に接続されていません」を取得する

アプローチ- 1.要素がWebページに表示されているかどうかを確認します 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");
}

Confirm order istrue ボタンのクリックされた boolean 値を出力

いくつかのアプローチを試みましたが、どれも機能していないようです。どんな助けでも大歓迎です。

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 に答える