当前位置: 首页 > 知识库问答 >
问题:

如何在selenium Java中单击弹出窗口

戈巴英
2023-03-14

完成表单并点击注册按钮后,我得到一个弹出的信息消息(模态),消息中有close(X)和OK按钮和标题:在ABC Project下,显示了以下内容&通知用户注册成功的文本。

我尝试了几种方法来点击这个弹出窗口中的OK按钮,但都没有成功:

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

附加提示:

    null

我很感激你给我的提示和支持谢谢

共有1个答案

沈自珍
2023-03-14

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

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

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

也许是等待的问题。尝试WebDriverWait

Alert alert = new WebDriverWait(driver, 20).until(ExpectedConditions.alertIsPresent());
alert.accept();
 类似资料:
  • 我有这段代码显示了一个按钮谁显示一个弹出窗口,我希望用户能够关闭弹出窗口点击它的外部时,它是打开的。

  • 我有问题,点击链接从弹出窗口。单击按钮后,弹出窗口显示约3秒: 我正试图通过单击“取消” 和 但是链接没有被点击。我不知道如何断言工作在这个弹出

  • 我是Selenium和学习的新手。在Facebook注册页面上,我想点击如下截图所示的X,但我无法点击它。这是一个img元素。

  • 问题内容: 我正在用selenium。尝试单击按钮时,它将创建一个弹出窗口(警报),并且不返回页面对象。因此,我不能单独使用“单击”,因为此方法需要页面对象,并最终由于超时而失败。我可以使用“ chooseOkOnNextConfirmation()”,但这将单击弹出窗口,并且我还想验证弹出窗口是否实际出现。是否有任何方法可以单击并验证此警报? 问题答案: 对于警报,您将需要使用 getAlert

  • 使用WordPress和Elementor页面生成器,我创建了一个navmenu弹出式模板。我希望在单击包含子菜单的菜单项时淡入子菜单项并隐藏菜单。 当我向弹出窗口添加JavaScript代码(使用附加组件)时,eventlistener函数不起作用,但我的代码工作正常。我在简单的页面中使用它,但不在弹出窗口中使用它;我尝试了(自定义CSS和JS)插件,但也没有成功。这是Elementor中的一个

  • 问题内容: 我是Selenium webdriver的新手。我正在开发一个应用程序,其中单击一个按钮将弹出一个用于创建新文件夹的窗口。在此弹出窗口中,我们需要填写几个输入字段,选中几个框,然后单击“创建”按钮以创建文件夹。我试图单击复选框,然后单击创建。复选框没有名称,文本,标签。我尝试使用CSS选择器,但是该元素的以下xpath无效。使用xpath运行时,出现异常错误,提示“无法定位元素”。 这