使用Selenium和Python进行Chromium测试

时间:2013-05-29 06:30:13

标签: python selenium selenium-webdriver chromium

我有以下代码

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

http://selenium.googlecode.com/svn/trunk/docs/api/py/webdriver_chrome/selenium.webdriver.chrome.webdriver.html?highlight=capabilities

使用Selenium(在Python中)使用 Chromium Web浏览器需要做什么?

1 个答案:

答案 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)