在Selenium中导航独特的警报

时间:2015-02-04 20:43:51

标签: java selenium alert

当我遇到以下警告时,我正在使用Selenium自动化网站:Picture of dialog box我无权访问该页面的HTML。我需要在第一个字段中输入一个数字,然后选择“展开”按钮。

当我打开对话框时,我注意到焦点在文本框上,所以我尝试了:

Actions actions = new Actions(driver);
Alert alert = driver.switchTo().alert();
actions.sendKeys(Integer.toString(2));
actions.sendKeys(Keys.TAB);
actions.sendKeys(Keys.ENTER);

但是,这并没有最终将信息输入字段或选择“展开”,但它也没有使应用程序崩溃。

我也尝试过:

Alert alert = driver.switchTo().alert();
alert.sendKeys(Integer.toString(2));
alert.accept();

这确实导致应用程序崩溃,并返回错误: 模态对话框没有文本框 - 可能是警报。

您有什么方法可以考虑与警报互动吗?

编辑:新窗口似乎允许我使用driver.switchTo().alert()driver.switchTo().window("genericWindowHandle")。我不确定这是否正常,或者它是否有助于确定此警报/窗口实际上是什么。

2 个答案:

答案 0 :(得分:1)

这显然是一个窗口 - 注意标题栏。除此之外,您可以通过查看快速启动选项栏(通常位于Mac和Windows屏幕底部)轻松验证它是否是一个窗口。将识别一个新窗口,但不会出现一个对话框。

这看起来像一个窗口,你拥有的是正常的和预期的。

答案 1 :(得分:0)

我遇到了这个问题,其中页面标题是与您相同的网页对话框。在此窗口中,您无法检查元素。 解决方法是转到

Internet Explorer--> 
Internet Options --> 
Security tab -->
Custom Level --> 
Disable the option : Allow Websites to open windows without address or status bar

现在,您可以在IE中通过F12检查元素。 现在,只需编写所有selenium命令, 您也可以使用JavaScriptExecutor,如果您对话框调用JavaScript。