浏览器禁用更新:

  因为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/firebug@software.joehewitt.com.xpi"));
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加载浏览器的更多相关文章

  1. Qt加载网页(加载浏览器插件)和制作托盘后台运行(南信大财务报账看号)

    程序模块要添加QNetWork和QWebKit模块: nuistfinancevideo.h文件: #ifndef NUISTFINANCEVIDEO_H #define NUISTFINANCEVI ...

  2. No.11 selenium学习之路之加载浏览器插件for Firefox

    打开帮助 —— 故障排除信息

  3. selenium自动化之加载浏览器的配置文件

    做seleniumUI自动化关于选用哪个浏览器方面,对于我来说,火狐浏览器只是用于定位元素,因为有firebug(注意高版本的火狐已经安装不了这个插件了),而真正执行自动化脚本用的是谷歌,感觉谷歌的速 ...

  4. Blazor-断开连接后重新加载浏览器

    在大多数情况下,Blazor将与以前相同的线路上重新连接到服务器.但有时无法重新连接,需要重新加载web浏览器才能使网站重新工作.如果服务器回收应用程序池,则需要手动重新加载页面在没有调试的情况下在I ...

  5. selenium自动化之加载浏览器配置文件

    化环境:python3.6 + selenium3 当我们做自动化的时候,如果不做任何配置的话打开的浏览器默认是不加载我们的浏览器配置文件的,下面我们来说说如何加载配置文件: 首先不管使用的是火狐浏览 ...

  6. 从url到页面加载浏览器做了什么?

    从输入url到页面加载发生了什么?1.DNS解析DNS解析是一个递归查询的过程.DNS解析的过程就是寻找哪台机器上有你需要资源的过程,当你在浏览器中输入一个地址时,www.baidu.com.其实不是 ...

  7. vue懒加载 && 浏览器高度

    当我们进入首页时,可能有很多条目需要显示,但是如果条目太多,我们全部将之显示出来就会造成性能的消耗,比如,我在第一条就找到了需要的或者我就看前面两条我就不想看后面的了,所以,这时候如果使用全部加载的方 ...

  8. 用selenium自动加载浏览器下载图片

    上一篇用requests这个库进行图片的批量下载,只所以可以这样做,是因为豆瓣提供的XHR的接口API,而且接口返回的数据类型为json格式,所以使用起来非常的方便,但是有时候我们需要分析html格式 ...

  9. selenium模块跳过用户名密码验证码输入,加载浏览器标签和cookie,进行翻页爬虫多页动态加载的数据(js)

    能解决登陆一次后,之后不需要二次登陆的动态加载数据,网页保存的cookie和标签,加入到selenium自动化测试浏览器中 1 from selenium import webdriver 2 imp ...

随机推荐

  1. (四)js数组方法一

    ES5数组方法: Array.prototype.filter()   对数组元素进行过滤 三个参数:元素值,下标,原数组 返回:过滤后符合条件的数组,不会改变原数组 let arr = [2,4,6 ...

  2. Docker运行GUI软件的方法

    转自 https://www.csdn.net/article/2015-07-30/2825340 简介: Docker通过namespace将容器与主机上的网络和运行环境进行了隔离,默认情况下,在 ...

  3. iOS开发单例模式 dispatch_once

    什么是单例 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例类的特殊类.通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源 ...

  4. niosii 改变软核之后重新编译方法

    操作系统:Win7 64 bit 开发环境:Quartus II 12.0 (64-Bit)  + Nios II 12.0 Software Build Tools for Eclipse 使用Qu ...

  5. gatsbyjs 使用

    1. 安装 npm install --global gatsby-cli 2. 使用 // 创建项目 gatsby new dalong cd dalong // 启动 gatsby develop ...

  6. php查询mysql时,报超出内存错误(select count(distinct))时

    学时服务器查询教练所带人数时,使用select count(distinct(u_STRNO))时报超出内存错误.后参考“mysqld-nt: Out of memory解决方法”http://jin ...

  7. Tarjan模版(链式向前星表示方法)

    这道模版用到了链式向前星表示法: struct node { int v,next; }edge[]; void add(int x,int y) { edge[++cnt].next=heads[x ...

  8. Vue.js:条件与循环

    ylbtech-Vue.js:条件与循环 1.返回顶部 1. Vue.js 条件与循环 条件判断 v-if 条件判断使用 v-if 指令: v-if 指令 在元素 和 template 中使用 v-i ...

  9. python开发mysql:视图、触发器、事务、存储过程、函数

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  10. Sql Server优化之路

    本文只限coder级别层次上对Sql Server的优化处理简结,为防止专业DB人士有恶心.反胃等现象,请提前关闭此页面. 首先得有一个测试库,使用数据生成计划生成测试数据库(参考:http://de ...