我有以下代码
import time
from selenium import webdriver
import selenium.webdriver.chrome.service as service
chromedriver_path = "/Users/stephen/Downloads/chromedriver2_mac32_0.8/chromedriver"
chromium_path = "/Users/stephen/Downloads/chrome-mac/Chromium.app/Contents/MacOs/Chromium"
service = service.Service(chromedriver_path)
service.start()
capabilities = {'chrome.binary': chromium_path}
driver = webdriver.Remote(
service.service_url,
desired_capabilities=capabilities)
driver.get('http://www.google.com/xhtml');
time.sleep(5) # Let the user actually see something!
driver.quit()
不幸的是,当我运行上面的Python脚本时,Selenium非常礼貌地完全忽略了我想使用Chromium
而使用我的默认Google Chrome
的事实。为了清楚起见,它完全符合脚本指定的内容,只是它使用Chrome而不是Chromium。
显然,我做错了什么。我的尝试基于以下页面。
https://code.google.com/p/chromedriver/wiki/GettingStarted
使用Selenium(在Python中)使用 Chromium Web浏览器需要做什么?
答案 0 :(得分:8)
desired_capabilities
选项用于传递给常规selenium驱动程序代码的选项。 chrome驱动程序使用的选项(包括chrom(e | ium)二进制位置)使用chrome_options
传递,如下所示:
from selenium.webdriver.chrome.options import Options
opts = Options()
opts.binary_location = chromium_path
driver = webdriver.Chrome(chrome_options=opts)