Selenium webdriver 如何在selenium Java中单击弹出窗口
我是selenium的新手,尝试自动化(使用Java for Window中的selenium Webdriver和Chrome驱动程序)一个包含注册表单的应用程序(ABC项目) 填写表格并单击注册按钮后,我会收到一条弹出信息消息(模式),消息中有关闭(X)&确定按钮和标题:在ABC项目下,将显示以下信息和文本,通知用户注册成功 我尝试了几种方法单击此弹出窗口中的“确定”按钮,但没有成功:Selenium webdriver 如何在selenium Java中单击弹出窗口,selenium-webdriver,Selenium Webdriver,我是selenium的新手,尝试自动化(使用Java for Window中的selenium Webdriver和Chrome驱动程序)一个包含注册表单的应用程序(ABC项目) 填写表格并单击注册按钮后,我会收到一条弹出信息消息(模式),消息中有关闭(X)&确定按钮和标题:在ABC项目下,将显示以下信息和文本,通知用户注册成功 我尝试了几种方法单击此弹出窗口中的“确定”按钮,但没有成功: 1. Alert alert = driver.switchTo().alert();
1.
Alert alert = driver.switchTo().alert();
alert.accept();
2.
driver.findElement(By.xpath("//input[@value = 'alert']")).click();
Alert javascriptAlert = myTestDriver.switchTo().alert();
System.out.println(javascriptAlert.getText()); // Get text on alert box
javascriptAlert.accept();
----> in this case I get only the text of the opened tab (from registration window: driver.getTitle();:ABC Project) but not the text of teh Info message(to see in logger.info)
3.
String winHandleBefore =
driver.getWindowHandle();
driver.findElement(By.xpath("//div[@class='col-md-4']/button[1]")).click();
// Xpath of register Button
Set handles = driver.getWindowHandles(); ..... --->>, In this case, I don't get any Window Handler of new window the window handler from old and new are the same
附加提示:
- 我也无法单击窗口中的任何其他位置来跳过弹出窗口
- 在GoogleDeveloper工具中,我看不到任何源代码,也看不到弹出窗口中的任何元素(当弹出窗口出现时)
- 我从开发者那里听说这个窗口是一个javascript,但我不知道 也可以查看源代码中的任何内容(它也不适用于解决方案b) (上图)
谢谢发布的这张图片看起来像一个javascript警报 因此,下面的代码应该是有效的
Alert alert = driver.switchTo().alert();
alert.accept();
也许这是一个等待问题。试试看
Alert alert = new WebDriverWait(driver, 20).until(ExpectedConditions.alertIsPresent());
alert.accept();
你能发布一张警报的图片吗?我已经添加了dialog-thx的图片以供回复