Selenium的彈窗處理!
對話框相信大家都不陌生,常見的對話框爲三種alert、confirm、prompt。這些對話框對Selenium來說不算是界面層的東西。因爲他是JS做的。看到這是不是想到了利用之前的JS代碼了?不過Selenium解決了這個問題,給我們提供了三個基本方法:accept();、dismiss();、sendKeys();、等方法。這三個分別對應確認、取消、輸入。通過這三個方法我們可以實現對JS對話框進行操作。
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class alertConfirmPromptDemo {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
WebDriver driver=new ChromeDriver();
Dimension di=new Dimension(600, 600);
driver.manage().window().setSize(di);
driver.get("file:///D:/wb-zq379240/eclipse-workspace/softlyDemo/htmlDemo/demo.html");
// alert彈窗處理
// driver.findElement(By.id("alert")).click();
// driver.switchTo().alert().accept(); //點擊確認
// //confirm彈窗處理
// driver.findElement(By.id("confirm")).click();
// driver.switchTo().alert().dismiss(); //點擊確認
// Thread.sleep(2000);
// driver.findElement(By.id("confirm")).click();
// driver.switchTo().alert().accept(); //點擊取消
// //promot彈窗處理
// driver.findElement(By.id("promot")).click();
// System.out.println(driver.switchTo().alert().getText());//獲取彈窗提示文本
// driver.switchTo().alert().sendKeys("你狠棒棒"); //想窗口輸入文本
// driver.switchTo().alert().accept(); //點擊確認
}
}