webdriver在打开chrome、firefox浏览器时,默认是创建新用户,每次打开都是一个全新的浏览器。对于浏览器需要使用 npapi插件,会有困扰。通过加载个人配置文件的方式,在第一次打开浏览器时,手动设置npapi插件是否加载,后续运行直接使用之前的配置信息,不会 反复提示。
chrome:
ChromeOptions options = new ChromeOptions();
options.addArguments(“–-user-data-dir=C:/Users/xxx/AppData/Local/Google/Chrome/User Datat”);
WebDriver driver = new ChromeDriver(options);
firefox:
FirefoxProfile fp = new FirefoxProfile();
ProfilesIni allProfiles = new ProfilesIni();
fp = allProfiles.getProfile(“default”);
WebDriver driver = new FirefoxDriver(fp);
Selenium操作浏览器是不加载任何配置的,网上找了半天,关于Firefox加载配置的多点,Chrome资料很少,下面是关于加载Chrome配置的方法:
一、加载所有Chrome配置
用Chrome地址栏输入chrome://version/,查看自己的“个人资料路径”,然后在浏览器启动时,调用这个配置文件,代码如下:
#coding=utf-8
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_argument('--user-data-dir=C:\Users\Administrator\AppData\Local\Google\Chrome\User Data') #设置成用户自己的数据目录
driver = webdriver.Chrome(chrome_options=option)
二、修改浏览器的User-Agent来伪装你的浏览器访问手机m站
#coding=utf-8
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_argument('--user-agent=iphone')
driver = webdriver.Chrome(chrome_options=option)
driver.get('http://www.taobao.com/')
三、浏览器启动时安装crx扩展
#coding=utf-8
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_extension('d:\crx\AdBlock_v2.17.crx') #自己下载的crx路径
driver = webdriver.Chrome(chrome_options=option)
driver.get('http://www.taobao.com/')
可以去https://sites.google.com/a/chromium.org/chromedriver/capabilities查看更多,或者去http://stackoverflow.com/查找。
下边是收集的一些配置信息:
一些Chrome的地址栏命令(这些命令会不停的变动,所有不一定都是好用的)
在Chrome的浏览器地址栏中输入以下命令,就会返回相应的结果。这些命令包括查看内存状态,浏览器状态,网络状态,DNS服务器状态,插件缓存等等。
about:version - 显示当前版本
about:memory - 显示本机浏览器内存使用状况
about:plugins - 显示已安装插件
about:histograms - 显示历史记录
about:dns - 显示DNS状态
about:cache - 显示缓存页面
about:gpu -是否有硬件加速
about:flags -开启一些插件 //使用后弹出这么些东西:“请小心,这些实验可能有风险”,不知会不会搞乱俺的配置啊!
chrome://extensions/ - 查看已经安装的扩展
其他的一些关于Chrome的实用参数及简要的中文说明(使用方法同上,当然也可以在shell中使用)
–user-data-dir=”[PATH]” 指定用户文件夹User Data路径,可以把书签这样的用户数据保存在系统分区以外的分区。
–disk-cache-dir=”[PATH]“ 指定缓存Cache路径
–disk-cache-size= 指定Cache大小,单位Byte
–first run 重置到初始状态,第一次运行
–incognito 隐身模式启动
–disable-javascript 禁用Javascript
--omnibox-popup-count="num" 将地址栏弹出的提示菜单数量改为num个。我都改为15个了。
--user-agent="xxxxxxxx" 修改HTTP请求头部的Agent字符串,可以通过about:version页面查看修改效果
--disable-plugins 禁止加载所有插件,可以增加速度。可以通过about:plugins页面查看效果
--disable-javascript 禁用JavaScript,如果觉得速度慢在加上这个
--disable-java 禁用java
--start-maximized 启动就最大化
--no-sandbox 取消沙盒模式
--single-process 单进程运行
--process-per-tab 每个标签使用单独进程
--process-per-site 每个站点使用单独进程
--in-process-plugins 插件不启用单独进程
--disable-popup-blocking 禁用弹出拦截
--disable-plugins 禁用插件
--disable-images 禁用图像
--incognito 启动进入隐身模式
--enable-udd-profiles 启用账户切换菜单
--proxy-pac-url 使用pac代理 [via 1/2]
--lang=zh-CN 设置语言为简体中文
--disk-cache-dir 自定义缓存目录
--disk-cache-size 自定义缓存最大值(单位byte)
--media-cache-size 自定义多媒体缓存最大值(单位byte)
--bookmark-menu 在工具 栏增加一个书签按钮
--enable-sync 启用书签同步
http://www.51testing.com/html/30/n-3578030.html
http://www.vingo.cn/vingo/archives/1172
相关推荐
- 不同浏览器可能有不同的会话恢复机制,上述方法主要适用于Chrome,对于其他浏览器(如Firefox),可能需要调整相应代码。 - 重用会话可以提高测试效率,但也要注意,如果浏览器窗口被用户手动关闭,或者某些异常...
这里的`webdriver.Chrome()`、`webdriver.Firefox()`和`webdriver.Ie()`会根据系统配置寻找对应的浏览器驱动。 7. **注意事项**: - 必须确保浏览器驱动程序与浏览器版本匹配,不匹配可能导致运行错误。 - 在...
3. 跨平台性:Selenium WebDriver支持多种操作系统(如Windows、Mac、Linux)和浏览器(如Chrome、Firefox、Edge、IE等),这使得测试脚本具有很高的可移植性。 4. Page Object模式:这是一种设计模式,提倡将页面...
7. **浏览器兼容性**:虽然主要测试是在Firefox上进行,但addon可能还需要考虑与其他浏览器的兼容性,如Chrome或Safari,这需要对不同浏览器的API差异有清晰的理解。 8. **测试覆盖率**:通过工具如Istanbul或nyc来...
- 兼容性:不同的浏览器有对应的WebDriver实现,如ChromeDriver for Google Chrome,GeckoDriver for Firefox。PHP WebDriver绑定库需要与相应的浏览器驱动程序配合使用。 - 页面对象模式:一种软件设计模式,将页面...
1. 支持多种浏览器:包括但不限于Chrome、Firefox、Internet Explorer、Opera、Safari等。 2. 跨平台能力:能够在不同的操作系统上运行,如Windows、Linux、MacOS等。 3. 多语言支持:可使用Java、Python、C#、Ruby...
在 Selenium 中,`webdriver.Firefox()` 或 `webdriver.Chrome()` 创建了一个浏览器实例,`get` 方法用于加载网页,`find_element_by_name` 用于查找指定名称的元素,`send_keys` 输入文本,`submit` 提交表单,最后...
WebDriver支持多种浏览器,包括Chrome、Firefox、Safari等,通过不同的WebDriver实现(如ChromeDriver、GeckoDriver),可以实现对各个浏览器的自动化测试。 2. Java: Java是这个项目的主要编程语言,它是一种面向...
WebDriver支持各种浏览器,包括Chrome、Firefox、Safari等,而ChromeDriver就是专为Chrome浏览器设计的WebDriver实现。 ChromeDriver的主要功能包括: 1. **启动和关闭Chrome浏览器**:可以通过ChromeDriver启动和...
例如,我们可以使用`webdriver.Firefox()`或`webdriver.Chrome()`来打开Firefox或Chrome浏览器。之后,我们可以通过`get()`方法加载URL,进入CMS系统登录页面。 在登录CMS系统的过程中,我们需要找到登录表单的相关...
// 启动Firefox浏览器 WebDriver driver = new FirefoxDriver(); // 访问百度首页 driver.get("http://www.baidu.com"); // 获取页面标题 String title = driver.getTitle(); // 验证标题 Assert....
它支持多种浏览器,如Chrome、Firefox、IE等,通过不同的浏览器驱动程序(如ChromeDriver、GeckoDriver)来实现。 2. **自动化测试**:Selenium WebDriver 使得编写自动化测试脚本变得简单,通过编程语言如Java、...
Selenium支持多种浏览器,包括IE、Chrome和Firefox,这三大主流浏览器的兼容性使得它在实际项目中具有极高的应用价值。 Selenium的核心组件主要包括Selenium WebDriver和Selenium IDE。Selenium WebDriver是...
接着,利用`webdriver.Chrome()`或`webdriver.Firefox()`方法打开浏览器,并使用`get(url)`方法加载考试网页。 对于题目类型,描述中提到的是单选题、多选题和判断题。每种题型的处理方式会有所不同: 1. **单选题...
bro = webdriver.Firefox('你的驱动路径', firefox_options = ff_options) ``` (4)运行提示:程序在发送请求获取数据时可能因网络不稳定而报错,此时等待其快速重连即可,一般不会影响程序运行。 (5)建议:...
其中Firefox是Selenium支持得比较成熟的浏览器,但是Firefox在进行页面测试时,速度可能会比较慢,这对于持续集成的速度有负面影响。此时,建议使用HtmlUnitDriver,但需要注意的是,HtmlUnitDriver在运行时是看不到...
例如,除了Chrome和IE,还有Firefox的GeckoDriver、Microsoft Edge的EdgeDriver等。每个驱动都与对应的浏览器紧密协作,实现对页面元素的定位、点击、输入、导航等操作。 总结来说,Selenium的浏览器驱动,如...
Watir支持多种浏览器,包括Chrome、Firefox、Safari等,为测试提供了跨平台的兼容性。 Watir的核心组件包括Watir-Webdriver,它直接与浏览器的WebDriver API进行交互,使得测试代码能够控制浏览器的行为。...
在Selenium WebDriver中,我们首先需要选择合适的WebDriver驱动,比如ChromeDriver(用于Google Chrome)或GeckoDriver(用于Firefox)。然后,创建WebDriver实例,指定浏览器类型,并设置相应的配置。以下是一个...