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/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加载浏览器的更多相关文章
- Qt加载网页(加载浏览器插件)和制作托盘后台运行(南信大财务报账看号)
程序模块要添加QNetWork和QWebKit模块: nuistfinancevideo.h文件: #ifndef NUISTFINANCEVIDEO_H #define NUISTFINANCEVI ...
- No.11 selenium学习之路之加载浏览器插件for Firefox
打开帮助 —— 故障排除信息
- selenium自动化之加载浏览器的配置文件
做seleniumUI自动化关于选用哪个浏览器方面,对于我来说,火狐浏览器只是用于定位元素,因为有firebug(注意高版本的火狐已经安装不了这个插件了),而真正执行自动化脚本用的是谷歌,感觉谷歌的速 ...
- Blazor-断开连接后重新加载浏览器
在大多数情况下,Blazor将与以前相同的线路上重新连接到服务器.但有时无法重新连接,需要重新加载web浏览器才能使网站重新工作.如果服务器回收应用程序池,则需要手动重新加载页面在没有调试的情况下在I ...
- selenium自动化之加载浏览器配置文件
化环境:python3.6 + selenium3 当我们做自动化的时候,如果不做任何配置的话打开的浏览器默认是不加载我们的浏览器配置文件的,下面我们来说说如何加载配置文件: 首先不管使用的是火狐浏览 ...
- 从url到页面加载浏览器做了什么?
从输入url到页面加载发生了什么?1.DNS解析DNS解析是一个递归查询的过程.DNS解析的过程就是寻找哪台机器上有你需要资源的过程,当你在浏览器中输入一个地址时,www.baidu.com.其实不是 ...
- vue懒加载 && 浏览器高度
当我们进入首页时,可能有很多条目需要显示,但是如果条目太多,我们全部将之显示出来就会造成性能的消耗,比如,我在第一条就找到了需要的或者我就看前面两条我就不想看后面的了,所以,这时候如果使用全部加载的方 ...
- 用selenium自动加载浏览器下载图片
上一篇用requests这个库进行图片的批量下载,只所以可以这样做,是因为豆瓣提供的XHR的接口API,而且接口返回的数据类型为json格式,所以使用起来非常的方便,但是有时候我们需要分析html格式 ...
- selenium模块跳过用户名密码验证码输入,加载浏览器标签和cookie,进行翻页爬虫多页动态加载的数据(js)
能解决登陆一次后,之后不需要二次登陆的动态加载数据,网页保存的cookie和标签,加入到selenium自动化测试浏览器中 1 from selenium import webdriver 2 imp ...
随机推荐
- Python打包上传
你可以用pip导出你的dependency: $ pip freeze > requirements.txt 然后在通过以下命令安装dependency: pip install -r requ ...
- centos7怎么把语言切换成英语
一.简介 在Linux的系统中经常碰到字符集导致的错误,本文总结了设置修改系统语言环境的方法步骤. 二.操作步骤 执行如下指令,查看当前使用的系统语言 echo $LANG 执行如下指令,查看系统安装 ...
- Centos6.4_X64编译安装php-5.4.17、nginx-1.4.2、mysql-5.6.13
安装参考: CentOS 6.3编译安装Nginx1.2.2+MySQL5.5.25a+PHP5.4.5 http://www.dedecms.com/knowledge/servers/linux- ...
- Window Handle介绍
HANDLE(句柄)是Windows操作系统中的一个概念.在Windows程序中,有各种各样的资源(窗口.图标.光标等),系统在创建这些资源时会为它们分配内存,并返回标示这些资源的标示号,即句柄.句柄 ...
- Sapnco3 RfcTable Structure
RfcTable 中字段 并不固定,以下内容仅供参考 1. 包含IDOC的 RfcTable SDATA字段值为IDOC数据,解析IDOC数据需依据IDOC字段长度对SDATA进行截取 functio ...
- 几个开源faas 框架
funktion open source event based lambda programming for kubernetes 官方地址: funktion.fabric8.io serverl ...
- python中的单元测试pyUnit
python中的单元测试pyUnit 在Python中进行单元测试时需要用到PyUnit模块,Python 2.1及其以后的版本都将PyUnit作为一个标准模块,但如果你使用的是较老版本的Pyth ...
- bzoj 4032 [HEOI2015]最短不公共子串——后缀自动机
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4032 不是 b 的子串的话就对 b 建后缀自动机,在 a 上枚举从每个位置开始的子串或者找子 ...
- rbenv配置
git clone https://github.com/rbenv/rbenv.git ~/.rbenv # 用来编译安装 ruby git clone git://github.com/sstep ...
- java代码水仙花
总结:分离出百位,十位,各位,我总是模模糊糊的,总是分不清取膜与除号的作用区别: “%”的意思是“取膜”,表示取得的是余数 “/”的意思是除,得到的是除数. package com.a; //求水仙花 ...