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

如何处理Selenium中弹出的IE安全警报

郦祯
2023-03-14

我收到“警报数据:当您将信息发送到互联网时,其他人可能会看到该信息。是否要继续?“,同时运行登录脚本。我能够捕获安全警报数据,但无法接受该警报并进一步继续。

@Test
  public void f() 
  {
    driver.get("http://www.demo.guru99.com/V4/");  
    String title= driver.getTitle();
    System.out.println(title);
        WebElement element = driver.findElement(By.xpath("html/body/form/table/tbody/tr[1]/td[2]/input"));
        element.sendKeys("mngr57377");
        WebElement element1 = driver.findElement(By.xpath("html/body/form/table/tbody/tr[2]/td[2]/input"));
        element1.sendKeys("yzUdAtu");
        WebElement elementClick=driver.findElement(By.xpath("html/body/form/table/tbody/tr[3]/td[2]/input[1]"));
        elementClick.click();
        try {
            click(elementClick);
        } catch (UnhandledAlertException f) {
            try {
                Alert alert = driver.switchTo().alert();
                alert.accept();
                String alertText = alert.getText();
                System.out.println("Alert data: " + alertText);

            } catch (NoAlertPresentException e) {
                e.printStackTrace();
            }
        }

  }

共有1个答案

公冶和豫
2023-03-14

根据您的代码单击(elementClick);在try block下是错误的。我想你必须这样走-

登录后按钮单击使用以下代码来处理警报 -

    WebElement element = driver.findElement(By.xpath("html/body/form/table/tbody/tr[1]/td[2]/input"));
    element.sendKeys("mngr57377");
    WebElement element1 = driver.findElement(By.xpath("html/body/form/table/tbody/tr[2]/td[2]/input"));
    element1.sendKeys("yzUdAtu");
    WebElement elementClick=driver.findElement(By.xpath("html/body/form/table/tbody/tr[3]/td[2]/input[1]"));
    elementClick.click();
    try 
    {

        Alert alert = driver.switchTo().alert();
        alert.accept();
        String alertText = alert.getText();
        System.out.println("Alert data: " + alertText);

    }
    catch (NoAlertPresentException e)
    {
         e.printStackTrace();

    }

另外,尽量避免使用< code >绝对xpath,而是使用< code >相对xpath,或者尝试定制xpath。

 类似资料:
  • 如何在selenium(java)中处理sweet alert弹出窗口- 在此处输入图像描述

  • 我需要一个解决方案,使用SeleniumWebDriver从IE11中的web应用程序下载PDF文件。请找到下面我正在尝试处理的弹出窗口。 下面是我尝试处理IE弹出窗口的方法,但不幸的是没有任何帮助。 > 我试图使用下面的AutoIT脚本使用AutoIT来处理这个场景。 睡眠(5000) 本地$hIE=wingthandle(“[Class:IEFrame]”) 本地$hCtrl=ControlG

  • 问题内容: 我不确定seleniumwebdriver是否可以处理Javascript警报/弹出窗口。 我有一个类似的场景: 1.用户上传一个xls文件,然后单击“上传”按钮 2.将显示“警报/弹出窗口”。在窗口上单击“确定” 能够自动执行上述方案,但是在运行脚本时会显示“警报/弹出”窗口。 无论如何,他们可以解决JavaScript警报/弹出窗口的解决方法吗? 问题答案: 您也可以尝试 等待警报

  • 本文向大家介绍如何在Selenium中处理基于Web的警报?,包括了如何在Selenium中处理基于Web的警报?的使用技巧和注意事项,需要的朋友参考一下 Selenium WebDriver借助Alert界面提供了多个API来处理弹出窗口或警报。 解雇() 这将取消警报按钮。 接受() 这将接受警报按钮。 getText() 这将提取警报文本。 sendKeys() 这将在警报框中输入文本。 示

  • 我正在尝试用下面的selenium Webdriver代码点击弹出窗口上的OK按钮 但我正在纠正这一错误 org.openqa.selenium.noAlertPresentException:不存在警报(警告:服务器未提供任何stacktrace信息)命令持续时间或超时:2.22秒构建信息:版本:“2.28.0”,修订版:“18309”,时间:“2012-12-11 20:21:45”系统信息:

  • 我已尝试在URL中发送用户名和密码 我已尝试使用报警处理,但不起作用。 我尝试了中提供的解决方案-如何使用Java处理Selenium WebDriver弹出的身份验证,几乎所有的解决方案都不是AutoIT,但没有一个对我有效 我有一个Maven项目,我正在尝试从project.properties文件发送带有用户名和密码的url,看起来像这样- URL=https://username:pass