1

自動化スクリプトに Selenium Webdriver + Java + Eclipse + testng を使用しています。

アラート ボックスを含むウィンドウの URL を取得しようとしています。Web ページのダウンロード ボタンをクリックすると、アラート ボックスが新しいウィンドウで開きます。このウィンドウの URL を取得したい。

これに対して getCurrentURL コマンドを試しましたが、UnhandledAlertException : Modal dialog presentを取得しています。アラート ボックスを閉じると、含まれているウィンドウがすぐに閉じられるため、URL を取得できません。

アラート ボックス (ここではモーダル ダイアログ) が、ウィンドウの URL の読み取りで webdriver をブロックしているようです。これに対する解決策を教えてください。

ありがとう

4

2 に答える 2

0

このためには、最初に windowHandles のセットを取得する必要があると思いますdriver.getWindowHandles();。次に、それらを繰り返して、新しく開いたウィンドウの必要なハンドルを取得します。その後、開いているウィンドウに切り替えることができますdriver.switchTo().window("pass the handle here");

これで、コントロールが新しいウィンドウに表示されます。次に、のように使用しますdriver.getCurrentUrl();

これがあなたを助けることを願っています。よろしくお願いします :)

于 2012-12-14T12:39:54.227 に答える
0

アラート ボックスに URL がないため、質問の意味がよくわかりません。

とにかく、この方法でアクセスできます: Alert alert = webDriver.switchTo().alert(); テキスト コンテンツを取得するか、ここで説明されているように操作できます: http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium /Alert.html

于 2012-12-12T15:45:42.240 に答える