当我遇到以下警报时,我目前正在使用 Selenium 自动化网站:我无法访问该页面的 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")
。我不确定这是否正常,或者是否可以帮助确定此警报/窗口实际上是什么。
最佳答案
这显然是一个窗口 - 请注意标题栏。此外,当它出现时,您可以通过查看快速启动选项栏(通常位于 Mac 和 Windows 的屏幕底部)轻松验证它是否是一个窗口。将识别新窗口,但不会识别对话框。
这看起来像一个窗口,您所看到的是正常的和预期的。
关于java - 浏览 Selenium 中的独特警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28331062/