selenium chrome附加默认配置文件

时间:2013-03-07 13:44:44

标签: python selenium pyqt

我正在使用python ana selenium来自动化某些过程,但无法将selenium附加到默认的chrome配置文件 我试过了,

capability = webdriver.DesiredCapabilities.CHROME
self.driver = webdriver.Remote('http://127.0.0.1:9515/wd/hib',capability)

当然,我开始了,首先是chromedriver,还尝试过,

import time
from selenium import webdriver
import selenium.webdriver.chrome.service as service
service = service.Service('./chromedriver')
service.start()
capabilities = {'chrome.binary': '/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome'}
driver = webdriver.Remote(service.service_url, capabilities)
driver.get('http://www.google.com/xhtml');
time.sleep(5) # Let the user actually see something!
driver.quit()

这会导致selenium.common.exceptions.WebDriverException:消息:你不能在以下位置找到Chrome二进制文件:

并尝试过,

self.driver = webdriver.Chrome("./chromedriver")

这可行,但不是默认配置文件,也想知道如何用这个打开新窗口或新标签?

感谢。

2 个答案:

答案 0 :(得分:2)

不要直接从网站上复制/粘贴一些东西!亲自看看那个文件夹,里面有什么东西吗?!我的猜测是否定的。这就是为什么当你离开这一点时,它工作正常,因为它正在寻找应该存在的Chrome!

任何方式,更多的是你错误地使用它!

如果您想为Selenium提供不同的配置文件以用于Chrome,那么您需要使用options类:

https://code.google.com/p/selenium/source/browse/py/selenium/webdriver/chrome/options.py

您需要add_argument功能。

为什么?

这是因为要为Chrome提供另一个配置文件,您需要使用特定的命令行启动Chrome(具体为--user-data-dir):

http://www.chromium.org/user-experience/user-data-directory

add_argument函数公开了添加命令行开关的功能。

因此,如果您使用add_argument函数,Selenium将简单地传递给您的任何内容,直到Chrome作为其命令行开关的一部分。

答案 1 :(得分:0)

要找出您的chrome配置文件所在的位置,请启动chrome并键入

chrome://version

在地址栏中。在“个人资料路径:”下,您会看到您当前使用的个人资料的位置。例如:

~:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default