Selenium InternetExplorer 11 - 连续警报 - 第二个警报上的文本为空

我在 IE 11 中使用 Selenium WebDriver 时遇到以下问题。当我尝试捕获警报文本时,我设法在第一个警报上获取第一个文本。一旦我接受第一个警报,就会显示第二个警报,但文本为空,尽管我可以接受。我真的不明白这个问题。你能帮我吗 ?


这是我的代码:


    public class AlertDemo {


    static WebDriver driver;

    static Wait<WebDriver> wait;


    static String driverPath = 

      "C:\\Users\\Acer\\Downloads\\IEDriverServer_Win32_2.53.1\\";


     public static void main(String[] args) throws 

 NoAlertPresentException, 

     InterruptedException {

        System.out.println("*******************");

        System.out.println("Lancement INTERNET EXPLORER pour 

  tester la popup");

        System.setProperty("webdriver.ie.driver", driverPath + 

  "IEDriverServer.exe");

        driver = new InternetExplorerDriver();


        driver.manage().window().maximize();


        // Alert Message handling


  driver.get("http://demo.guru99.com/test/delete_customer.php");


        driver.findElement(By.name("cusid")).sendKeys("53920");

        driver.findElement(By.name("submit")).submit();


        // Switching to Alert

        try {

            WebDriverWait wait = new WebDriverWait(driver, 

  2);


  wait.until(ExpectedConditions.alertIsPresent());

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


            // Capturing alert message.    

            String alertMessage = 

     driver.switchTo().alert().getText();


            // Displaying alert message     

            System.out.println(alertMessage);


            // Accepting alert

            System.out.println("On accepte OK");

            alert.accept();


            Thread.sleep(500);

            //Pour le message en retour

            /*wait = new WebDriverWait(driver, 3);



这样做的目的是获取第二个警报中包含的字符串文本。


慕森卡
浏览 88回答 1
1回答

MMMHUHU

当您接受第一个警报时,第二个警报带有“不要让此页面创建更多消息”复选框。在 Internet Explorer 驱动程序中,它以某种方式阻止它被读取。其他浏览器如Chrome,没有任何问题。要解决此问题,您只需将网站添加到trusted sitesInternet Explorer 选项中。然后,您可以获得第二个警报的文本。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java