gpt4 book ai didi

selenium-webdriver - 如何点击 selenium Java 中的弹出窗口

转载 作者:行者123 更新时间:2023-12-02 11:52:46 27 4
gpt4 key购买 nike

enter image description here我是 selenium 的新手,并尝试自动化(在 Java for Window 中使用 selenium Webdriver 并使用 Chrome 驱动程序)一个包含注册表单的应用程序(ABC 项目)。

完成表单并单击“注册”按钮后,我会收到一条弹出信息消息(模式),其中包含关闭 (X) 和“确定”按钮以及消息中的标题:在 ABC 项目下,将显示以下内容以及通知用户的文本注册成功。

我尝试了多种方法来单击此弹出窗口中的“确定”按钮,但没有成功:

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

额外提示:

  • 我也无法单击窗口中的其他任何位置来跳过弹出窗口
  • 在 Google Developer 工具中,我没有在弹出窗口中看到任何源代码,也没有看到任何元素(当弹出窗口出现时)。
  • 我从开发人员那里听说这个窗口是一个 JavaScript,但我不知道也可以看到源代码中的任何内容(它也不适用于解决方案 b上)

感谢您的任何提示和支持谢谢

最佳答案

发布的这张图片看起来像一个 JavaScript 警报。

所以下面的代码应该可以工作。

Alert alert = driver.switchTo().alert();
alert.accept();

也许这是一个等待问题。尝试 WebDriverWait

Alert alert = new WebDriverWait(driver, 20).until(ExpectedConditions.alertIsPresent());
alert.accept();

关于selenium-webdriver - 如何点击 selenium Java 中的弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47342857/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com