Selenium启动Chromium换皮浏览器

最近在用selenium做自动化测试的时候、由于需要测试Chromium换皮浏览器(类似360极速浏览器/QQ浏览器)这种。

话比较多

我们都知道Selenium支持Chrome浏览器、而Chrome又是通过Chromium开源项目的商业版本;
所以Selenium肯定是支持Chromium浏览器的;
好了、我这次要测试的浏览器是用Chromium开源代码、重新换了皮肤的版本;就和360浏览器QQ浏览器一样一样的;

所以Selenium肯定也是支持所有基于Chromium衍生来的浏览器版本的。

我的推理就到这里结束了;

开始实践

当我们用webdriver.Chrome()却发现没有参数可以配置启动指定的浏览器路径;
我在Seleniumhq网站上翻遍了都没有找到怎么配置指定的浏览器路径的说明;
网络搜索了很久、都没有找到怎么样用Selenium来启动360浏览器、Chromium浏览器这样的文章

去Chromium官网找答案

当我在chromium网站上看到了chromedriver的说明文档;
里面有解释binary参数、可以指定启动的浏览器执行程序路径
我就知道这个是我要的参数啦

binary说明

具体的代码实现

# !/usr/bin/env python3
# encoding = utf-8
__author__ = "Sam.huang"

from selenium import webdriver

do_options = webdriver.ChromeOptions()  # 指定浏览器模式chrome/firefox/ie
do_options.binary_location = r'D:/Cbox/doreadme/doreadme.exe'  #指定路径
do_options.add_experimental_option('excludeSwitches',['enable-automation'])  # 设置浏览器为开发者模式
br = webdriver.Chrome(chrome_options=do_options)
br.get('http://www.baidu.com')
br.quit()

注意事项

  • 由于每一个Chromium衍生出来的浏览器使用的Chromium内核版本都可能不一样、所以必须要确保你浏览器的Chromium版本和你的webdriver匹配
  • 可以去Chromium的网站下载内核对应的webdriver驱动程序

Chromium内核版本

文章查询的资料