1

我正在为我的自动化脚本使用 selenium webdriver + java + eclipse + testng。

我正在尝试获取包含警报框的窗口的 URL。单击网页上的下载按钮时,它会在新窗口中打开一个警告框。我想获取这个窗口的 URL。

我为此尝试了 getCurrentURL 命令,但我得到UnhandledAlertException : Modal dialog present。如果我关闭警报框,则包含的窗口会立即关闭,因此无法获取 URL。

似乎警报框(此处为模态对话框)正在阻止 webdriver 读取窗口的 URL。请为此建议我一个解决方案。

谢谢

4

2 回答 2

0

我不确定我是否理解这个问题,因为警报框没有任何 URL!

无论如何,您可以通过这种方式访问​​它: Alert alert = webDriver.switchTo().alert(); 然后您可以检索文本内容或与其交互,如下所述:http: //selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium /警报.html

于 2012-12-12T15:45:42.240 回答
0

我认为您需要先为此获取一组 windowHandles driver.getWindowHandles();。然后通过迭代获得新打开的窗口所需的句柄。之后,您可以使用切换到打开的窗口driver.switchTo().window("pass the handle here");

现在您的控件进入新窗口。然后像这样使用driver.getCurrentUrl();

希望这可以帮助你。此致 :)

于 2012-12-14T12:39:54.227 回答