Java+Selenium3自动化入门5---如何操作Alert弹框和div盒子模拟的弹框

说到这里我们首先要先说下Alert是如何来的,一般是用来确认某些操作、输入简单的text或用户名、密码等,根据浏览器的不同,弹出框的样式也不一样,在firebug中是无法获取到该框的元素的,也就是说alert是不属于网页DOM树的。直接看代码!



    
    帅气的老王

            
    


    
    
        
            
            
Firstname Lastname
Peter Griffin

上面的代码大家可以看到在打开的时候,最先弹出的是这样的一个弹框,这就是典型的alert弹窗,当我们不点击确定的时候,这个页面是不会加载下一步的,所以我们会看到页面并没有加载完成,左上角的也是一直显示在加载,右下角会一直显示:正在传输来自localhost的数据。

Java+Selenium3自动化入门5---如何操作Alert弹框和div盒子模拟的弹框_第1张图片

对于Alert,selenium提供了专门的方法

        /*
         * .accept() 点击alert弹窗上的确定按钮
         * .dismiss() 点击alert弹窗上的取消按钮
         * .getText() 获取alert上的文字信息
         * .sendKeys() 在弹窗上输入文字等信息
         */

下面我们就看看用代码如何去操作alert弹窗的

package com.Lion.D1;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class AlertAccept {

	public static void main(String[] args) throws Exception {    
       
		WebDriver driver = new FirefoxDriver();        
		driver.manage().window().maximize();
	 
		String PhotoUrl = "http://localhost:63342/untitled3/src/lions.html";
		driver.get(PhotoUrl); 
		
		Thread.sleep(2000);  
        
                //  swithTo()切换到alert并.getText()获取alert的文本内容
                System.out.println(driver.switchTo().alert().getText()); 
                //处理alert
                driver.switchTo().alert().accept(); 
		System.out.println("弹窗已关闭");
		
		
	}
}

控制台输出结果:

哈哈,我又变帅了
弹窗已关闭

第二个就是div盒子模拟的弹框,比如说百度的登录页面

Java+Selenium3自动化入门5---如何操作Alert弹框和div盒子模拟的弹框_第2张图片

对于这种弹窗,用alert是解决不了的,因为它是一个div盒子,可以看成是一个新的窗口,对于新的窗口我们需要用句柄的相关知识来解决,具体的可以看我的下一篇文章。

你可能感兴趣的:(selenium+java入门)