国王陛下万万岁

导航

 

 

以下打开各种浏览器的Java代码本人亲自写的,已经调试通过:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class HandleBrowser {
    public static void main(String[] args) throws InterruptedException {
        openBrowser("ie");

    }

    public static void openBrowser(String browser) {
        WebDriver driver = null;
        String t = null;
        // 打開Firefox瀏覽器
        if (browser.equalsIgnoreCase("Firefox") || browser.equalsIgnoreCase("FF")) {
            System.setProperty("webdriver.gecko.driver",
                    "C:\\eclipse-workspace\\SeleniumFrameworkOne\\drivers\\geockdriver\\geckodriver.exe");

            driver = new FirefoxDriver();

            driver.get("http://www.baidu.com");
            driver.manage().window().maximize();
            t = driver.getTitle();
            if (t.equals("百度一下,你就知道"))
                System.out.println("成功打开百度首页");
            else {
                System.out.println("NO成功打开百度首页");
                driver.close();//这句是有问题的,它之后判断条件为假时才会关闭ff浏览器
            }
        } else if (browser.equalsIgnoreCase("Chrome") || browser.equalsIgnoreCase("CH")) {
            System.setProperty("webdriver.chrome.driver",
                    "C:\\eclipse-workspace\\SeleniumFrameworkOne\\drivers\\chrome\\chromedriver.exe");

            driver = new ChromeDriver();

            driver.get("http://www.baidu.com");
            driver.manage().window().maximize();
            t = driver.getTitle();
            if (t.equals("百度一下,你就知道"))
                System.out.println("成功打开百度首页");
            else
                System.out.println("NO成功打开百度首页");
            driver.close();

        }else if (browser.equalsIgnoreCase("IE")) {
            System.setProperty("webdriver.ie.driver",
                    "C:\\eclipse-workspace\\SeleniumFrameworkOne\\drivers\\ie\\IEDriverServer.exe");

            driver = new InternetExplorerDriver();

            driver.get("http://www.baidu.com");
            driver.manage().window().maximize();
            t = driver.getTitle();
            if (t.equals("百度一下,你就知道"))
                System.out.println("成功打开百度首页");
            else
                System.out.println("NO成功打开百度首页");
            driver.close();

        }
    }

}

 

=====以上代码在打开IE浏览器时会遇到IE保护模式的问题=====

解决IE保护模式的方案一:

把IE保护模式都设置到同一水平,越低越好。

 

方案二:

如果有多台电脑要设置保护模式就比较麻烦了,这时可以通过设置 Internet Explorer Driver 的 Capability 为 IE_ENSURE_CLEAN_SESSION 达到实现。

示例代码:

public class testInternetExplorerDriver{

  public static void main(String[] args){

    System.setProperty("webdriver.ie.driver", "C:\Driver\IEDriverServer_Win32_2.37.0_latest\IEDriverSer.exe");

    DesiredCapabilities capab = DesiredCapabilities.internetExplorer();

    capab.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);

    capab.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);

    WebDriver driver = new InternetExplorerDriver(capab);

    driver.get("http://www.baidu.com");

  }

}

 

 

======另外,需要把IE Zoom level设置到100%=======

今天把IE放大到150%时,selenium直接报错,提示要把zoom设置为100%

 

以上都设置好了之后,换个网站做测试。

示例代码:

以下代码经测试正确无误。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class HandleBrowser {
    public static void main(String[] args) throws InterruptedException {
        openBrowser("ie");

    }

    @SuppressWarnings("deprecation")
    public static void openBrowser(String browser) {
        WebDriver driver = null;
        String t = null;
        // 打开Firefox浏览器
        if (browser.equalsIgnoreCase("Firefox") || browser.equalsIgnoreCase("FF")) {
            System.setProperty("webdriver.gecko.driver",
                    "C:\\eclipse-workspace\\SeleniumFrameworkOne\\drivers\\geockdriver\\geckodriver.exe");

            driver = new FirefoxDriver();

            driver.get("http://www.ctrip.com");
            driver.manage().window().maximize();
            t = driver.getTitle();
            if (t.equals("携程旅行网官网:酒店预订,机票预订查询,旅游度假,商旅管理")) {
                System.out.println("Yes!成功打开百度首页");
            } else {
                System.out.println("NO!没有成功打开携程首页");
            }
            driver.close();
            // 打开Google Chome
        } else if (browser.equalsIgnoreCase("Chrome") || browser.equalsIgnoreCase("CH")) {
            System.setProperty("webdriver.chrome.driver",
                    "C:\\eclipse-workspace\\SeleniumFrameworkOne\\drivers\\chrome\\chromedriver.exe");

            driver = new ChromeDriver();

            driver.get("http://www.ctrip.com");
            driver.manage().window().maximize();
            t = driver.getTitle();
            if (t.equals("携程旅行网官网:酒店预订,机票预订查询,旅游度假,商旅管理")) {
                System.out.println("Yes!成功打开携程首页");
            } else {
                System.out.println("NO!没有成功打开携程首页");
            }
            driver.close();

            // 打开IE
        } else if (browser.equalsIgnoreCase("IE")) {
            System.setProperty("webdriver.ie.driver",
                    "C:\\eclipse-workspace\\SeleniumFrameworkOne\\drivers\\ie\\IEDriverServer.exe");

            DesiredCapabilities capab = DesiredCapabilities.internetExplorer();
            capab.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
            capab.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
            driver = new InternetExplorerDriver(capab);

            driver.get("http://www.ctrip.com");
            driver.manage().window().maximize();
            t = driver.getTitle();
            if (t.equals("携程旅行网官网:酒店预订,机票预订查询,旅游度假,商旅管理")) {
                System.out.println("Yes!成功打开携程首页");
            } else {
                System.out.println("NO!没有成功打开携程首页");
            }
            driver.close();

        }
    }

}

 

 

 

参考链接

转载自简书
https://www.jianshu.com/p/305ea89b87e9
 
转载自CSDN
https://blog.csdn.net/weixin_39430584/article/details/79723870

 

posted on 2019-02-14 05:10  国王陛下万万岁  阅读(585)  评论(0)    收藏  举报