Handling JavaScript Alerts using Selenium

Dahun Yoo·2020년 5월 16일
0

Alerts는 html태그가 아니라, Javascript로 인하여 동작합니다.
그렇기 때문에 어떠한 요소에 대한 정보를 얻을 수 없습니다.


Javascript alert

이럴 때는 Driver를 switching 하여 대응 할 수 있습니다.


driver.switchTo().alert();

를 사용하면 인터넷 창 상의 모든 alert에 대응할 수 있게됩니다.

이후 accept()dismiss() 를 실행해주면 됩니다.


Confirm alert에는 YesCancel가 있는데, cancel을 하고자하면 dismiss() 를 사용하면 될 것 같습니다.

/* Confirm or OK Button */      
				driver.findElement(By.xpath("//*[@id=\"alertbtn\"]")).click();

        Thread.sleep(3000);
        System.out.println(driver.switchTo().alert().getText());
        driver.switchTo().alert().accept();
        Thread.sleep(3000);
/* dismiss */
        driver.findElement(By.xpath("//*[@id=\"confirmbtn\"]")).click();
        Thread.sleep(2000);
        driver.switchTo().alert().dismiss();
profile
QA Engineer

0개의 댓글