首页 > 代码库 > webdriver处理无法定位元素的弹窗

webdriver处理无法定位元素的弹窗

未经作者允许,禁止转载!

有时候在打开网页时,弹出了一个对话框提示需要输入用户名和密码,只有输入正确的用户名和密码之后

才能开始浏览网页,但是webdriver无法定位这个对话框里面的元素,也就是说在这个对话框上面右键没有反应

相信大家都遇到过这种坑爹的问题,下面就提供一种简单有效的方法!

大家可以试一试这个网页 https://www.engprod-charter.net/

下面是今天要处理的网页

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class windowDialog20161209 {

    public static void main(String[] args) throws InterruptedException {
        // TODO Auto-generated method stub
        System.setProperty("webdriver.chorme.driver", "C:\\Training\\Automation\\Software\\drivers\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver=new ChromeDriver();
//        driver.get("http://test3.tcom.aws.toyota.com/tcom-apps/vapi-preview/console.html");
//        Thread.sleep(5000);
//        System.out.println("打开网页需要输入用户名和密码");
//        driver.close();
        
        driver.get("http://toyota-oss:changeit@test3.tcom.aws.toyota.com/tcom-apps/vapi-preview/console.html");
        Thread.sleep(3000);
        driver.switchTo().alert().accept();------------对弹窗默认选择确定
        System.out.println("已经处理了弹窗");
            
    }

}

下面是python 代码

from selenium import webdriver
import time
from selenium.webdriver.common.action_chains import ActionChains

driver=webdriver.Chrome()
driver.get("http://toyota-oss:changeit@test3.tcom.aws.toyota.com/tcom-apps/vapi-preview/console.html")
#alert = driver.switch_to_alert()   如果是第一次打开上面的链接,就需要alert.accept(),但是从第二次之后保留了cookie就不再有弹窗
#alert.accept()
driver.maximize_window()
time.sleep(2)
print "进入toyota首页" 


webdriver处理无法定位元素的弹窗