selenium3加载浏览器

Posted 米蓝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium3加载浏览器相关的知识,希望对你有一定的参考价值。

浏览器禁用更新:

  因为selenium对浏览器的支持是有限制的。当浏览器更新到最新版本时,需要下载支持最新版本的插件。有时候selenium还没有更新到支持最新版本的插件,但本地已经更新到最新版本了。这样就比较悲剧了。需要卸载掉浏览器重新安装旧版本。如果及时设置不自动更新。可以很好的解决这个问题。

  禁用chrome浏览器: 控制面板\系统和安全\管理工具\服务\chrome更新服务 禁用
  禁用Firefox浏览器:选项、高级、更新、不检查更新。F10 关于。。。查看版本
  禁用IE浏览器:https://zhidao.baidu.com/question/564473961.html

 

1、加载chrome浏览器:

package myseleniumtest;
import java.io.File;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class chromeTest extends testBase {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        open_chrome();
    }
    static {
        System.setProperty("webdriver.chrome.driver", "files/chromedriver.exe");
    }

    public static void open_chrome() {
        ChromeOptions options = new ChromeOptions();
        // options.addArguments("--test-type");
        // File file =new File("files/chrome/User Data");
        // options.addArguments("user-data-dir="+file.getAbsolutePath());
        options.addArguments("--test-type", "--start-maximized");
        WebDriver driver = new ChromeDriver(options);
        driver.get(strUrl);
    }

    // 加载crx插件
    public static void load_plug() {
        ChromeOptions op = new ChromeOptions();
        op.addExtensions(new File(""));
        driver = new ChromeDriver(op);
    }
    // 根据配置文件夹启动  User Data文件夹在 C:\Users\Administrator\AppData\Local\Google\Chrome\User Data 路径下
    public static void loadConfig() {
        ChromeOptions options = new ChromeOptions();
        File file = new File("files/chrome/User Data");
        options.addArguments("user-data-dir=" + file.getAbsolutePath());
        options.addArguments("--test-type", "--start-maximized");
        WebDriver driver = new ChromeDriver(options);
        driver.get(strUrl);
    }

}

2、加载 firefox浏览器:

package myseleniumtest;

import java.io.File;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;
import org.openqa.selenium.remote.DesiredCapabilities;

public class firefoxTest extends testBase {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.setProperty("webdriver.gecko.driver", "files/geckodriver.exe");
        // load_firebug();
        load_firebug();
    }
    //OpenDefault
    public static void open_firefox(){
          
        WebDriver driver = new FirefoxDriver();  
        driver.get(strUrl);
    }
    //加载插件  about:config
    public static void load_firebug(){
        FirefoxProfile profile = new FirefoxProfile();
        profile.addExtension(new File("files/firefox/[email protected]"));
        profile.setPreference("extensions.firebug.currentVersion", "2.0.19");
        FirefoxOptions options = new FirefoxOptions();
        options.setProfile(profile);
        driver = new FirefoxDriver(options);
    
    }
    public static void exportFile(){
        FirefoxProfile profile = new FirefoxProfile();
        profile.setPreference("browser.download.dir","c:\\");
        // 0桌面 1我的下载 2自定义
        profile.setPreference("browser.download.folderList",2);
        profile.setPreference("browser.helperApps.neverAsk.saveToDisk","browser.helperApps.neverAsk.saveToDisk");
        driver = new FirefoxDriver(new FirefoxOptions().setProfile(profile));
        driver.get("http://wiki.yslocal.com/pages/viewpage.action?pageId=6719652");
    }
    //启用功能     在浏览器地址栏输入  about:config
    public static void startExtend(){
        FirefoxProfile profile = new FirefoxProfile();
        profile.setPreference("", true);
    }
    //  启动本机的firefox配置
    public static void loadLocalConfig(){
        ProfilesIni allProfiles = new ProfilesIni();
        FirefoxProfile profile = allProfiles.getProfile("default");
        profile.setPreference("extensions.firebug.allPagesActivation", "on");
        driver = new FirefoxDriver(new FirefoxOptions().setProfile(profile));
    }
    //启用其他机器的配置文件
    //将A机器上的profiles文件夹拷出来  C:\Users\Administrator\AppData\Local\Mozilla\Firefox
    public static void loadOtherConfig(){
        File f = new File("files/firefox/Profiles/gsz6831l.default/");
        FirefoxProfile profile = new FirefoxProfile(f);
        driver =  new FirefoxDriver(new FirefoxOptions().setProfile(profile));      
        
    }

}

3、加载IE浏览器

package myseleniumtest;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class ieTest extends testBase {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }
    //关闭保护模式 安全的四个选项 unchecked
    public void uncheckedSettings(){
        DesiredCapabilities  d =DesiredCapabilities.internetExplorer();
        d.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
        d.setCapability("ignoreProtectedModeSettings",true);
    }
    public static void open_ie(){
        System.setProperty("webdriver.ie.driver","files/IEDriverServer.exe");
        WebDriver driver = new InternetExplorerDriver();
        driver.get(strUrl);
    }

}

 

driver.navigate().back() 后退
driver.navigate().forward()  前进
driver.navigate().refresh() 刷新

 

以上是关于selenium3加载浏览器的主要内容,如果未能解决你的问题,请参考以下文章

selenium3+python自动化15-三种等待方式

python3 selenium3 从框架实现代码学习selenium让你事半功倍

Selenium3 + Python3自动化测试系列十——调用JavaScript代码

Selenium3自动化测试26显式等待

Selenium3搭建环境

Selenium3自动化测试25强制等待&隐式等待