2016-07-01 5 views
0

NeoEdify Warning PopupAngularJS popをSelenium WebDriverで処理する方法は?

私はAngularJSベースのWebサイトを自動化しようとしています。私は扱うことができない多くのポップアップを見つけています。私が試してみました:

1)コード:

Alert alert = driver.switchTo().alert(); 

alert.accept();//Closes OK Button" 

2)Xpathとの直接クリック確認ボタンを。

3)コード:

driver.executeScript("$x(\"calss=btn btn-lg btn-warning-fill ng-binding']\")[0].click()"); 

何も作業していません。誰にもアイデアはありますか?

+0

あなたの3番目の試行では、間違ったクラスを綴りました。 – JeffC

+0

WebElement要素= driver.findElement(By.xpath( ".//* [id = '警告警告]]/div/div/div/div [3]/div/a [2]")); \t \t((JavascriptExecutor)ドライバ).executeScript( "arguments [0] .click()"、要素);上記の –

+0

が働いた。それを考慮してhtmlダイアログとCSSセレクタでの位置づけはうまくいかなかった –

答えて

0

WebElement要素= driver.findElement(By.xpath(」.//*[@のid = '警告警告']/DIV/div/div/div [3]/div/a [2] ")); ((JavascriptExecutor)ドライバ).executeScript( "arguments [0] .click()"、要素);

作業

0

これはアラートではありません。アラートは、システムダイアログのように見えるJavascriptアラートです。これはHTMLダイアログです。スクリーンショットに描いたダイアログのHTMLを調べることで、これを確認できます。確認ボタンをクリックするだけです。 CSSセレクタ"#alert-warning a[ng-click='confirm()']"を使用して要素を見つけてクリックします。

CSSセレクタ参照

https://www.w3.org/TR/selectors/#selectors

https://saucelabs.com/resources/selenium/css-selectors

関連する問題