(八)警告框处理

在WebDriver中处理JavaScript所生成的alert、confirm、prompt是很简单的。具体做法是使用switch_to_alert()方法定位到alert/confim/prompt。然后使用text/accept/dissmiss/sendKeys按需进行操作。

  • accept()点击确认按钮
  • dismiss()点击取消按钮,如果有的话
  • sendKeys()输入值,这个alert\confirm没有对话框就不能用了,否则会报错

accept()例子:

此弹窗是不能通过前端工具对其进行定位的,这个时候就可以通过switchTo().alert()方法接收这个弹窗

  • public static void main(String[] args) throws InterruptedException {
    		System.setProperty("webdriver.firefox.bin", "D:/Program Files (x86)/Mozilla Firefox/firefox.exe");
    		System.setProperty("webdriver.gecko.driver", "E://selenium//geckodriver-v0.24.0-win64//geckodriver.exe");
    		WebDriver driver=new FirefoxDriver();
    		
    		driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
    		driver.get("http://www.baidu.com/");
    		
    		Actions action=new Actions(driver);
    		action.clickAndHold(driver.findElement(By.linkText("设置"))).perform();;
    	    
    		//打开搜索设置
    		driver.findElement(By.className("setpref")).click();
    		
    		
    		//更改设置:搜索框提示  不显示
    		driver.findElement(By.id("s1_2")).click();
    		
    		//保存设置
    		driver.findElement(By.className("prefpanelgo")).click();
    		driver.switchTo().alert().accept();
    		
    		
    		
    	}

    在测试过程中出现了org.openqa.selenium.ElementNotInteractableException,解决方式是加等待时间

posted @ 2019-05-03 19:05  测试开发分享站  阅读(88)  评论(0编辑  收藏  举报