有没有办法为Chrome浏览器使用特定的配置文件,同时使用带有python绑定的selenium控制它?
我有这个示例脚本:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--profile-directory=Selenium')
options.add_argument('--user-data-dir=/home/kossak/.config/google-chrome')
print('start')
wb = webdriver.Chrome(chrome_options=options)
print('get')
wb.get('chrome://version')
print('end')
我可以确认浏览器已正确启动且选择了正确的配置文件(/home/kossak/.config/google-chrome/Selenium
),但脚本停留在wb = webdriver...
行大约一分钟,然后显示异常,从不执行{{ 1}}行。
print('get')
我注意到,当我不使用任何自定义配置文件时,Chrome会自动添加“Chrome浏览器自动化”扩展程序(我猜是selenium webdriver)。我尝试通过从Traceback (most recent call last):
File "/home/kossak/Kossak/files_common/PythonProjects/test/test2.py", line 8, in <module>
wb = webdriver.Chrome(chrome_options=options)
File "/home/kossak/anaconda3/lib/python3.5/site-packages/selenium/webdriver/chrome/webdriver.py", line 69, in __init__
desired_capabilities=desired_capabilities)
File "/home/kossak/anaconda3/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 92, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/home/kossak/anaconda3/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 179, in start_session
response = self.execute(Command.NEW_SESSION, capabilities)
File "/home/kossak/anaconda3/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "/home/kossak/anaconda3/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
(Driver info: chromedriver=2.26.436382 (70eb799287ce4c2208441fc057053a5b07ceabac),platform=Linux 3.19.0-32-generic x86_64)
复制临时文件来创建另一个配置文件(当您没有指定自己的配置文件时创建的临时文件夹)但无效(并且复制的配置文件缺少CBA扩展)。我也尝试手动安装CBA,但没有运气。
如何使用自定义配置文件实现Chrome自动化? 谢谢。
我的操作系统:Linux Mint 18 x64“Sarah”Cinnamon
ChromeDriver 2.26.436382(70eb799287ce4c2208441fc057053a5b07ceabac)
Chrome版本53.0.2785.116(64位)
Python 3.5.2 | Anaconda自定义(64位)| (默认,2016年7月2日,17:53:06)
Selenium module 3.0.1