我知道this question和this one,但它们不包括我的情况。
我只是想使用python的Selenium软件包启动Chrome(使用我的用户个人资料)。我使用这段代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = webdriver.ChromeOptions()
options.add_argument("user-data-dir=C:\Users\Alexis\AppData\Local\Google\Chrome\User Data") #Path to your chrome profile
driver = webdriver.Chrome(chrome_options=options)#executable_path="C:\\Users\\chromedriver.exe",
尽管在同一目录中使用了相同版本的Chrome和Chrome驱动程序,但我的某台计算机上的这种方式没有问题,但在其他计算机上却没有问题。
我得到的错误是:
Traceback (most recent call last):
File "test.py", line 6, in <module>
driver = webdriver.Chrome(chrome_options=options)#executable_path="C:\\Users\\chromedriver.exe",
File "C:\Users\Alexis\Anaconda\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 67, in __init__
desired_capabilities=desired_capabilities)
File "C:\Users\Alexis\Anaconda\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 87, in __init__
self.start_session(desired_capabilities, browser_profile)
File "C:\Users\Alexis\Anaconda\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 141, in start_session
'desiredCapabilities': desired_capabilities,
File "C:\Users\Alexis\Anaconda\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 201, in execute
self.error_handler.check_response(response)
File "C:\Users\Alexis\Anaconda\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 181, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: failed to write prefs file
(Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Windows NT 10.0 x86_64)
答案 0 :(得分:1)
根据this link,这是较新的Chrome驱动程序版本的已知问题。 7月21日发表的评论之一如下:
Exception "unknown error: failed to write prefs file" is thrown when same
user-data-dir and profile is used by two chrome instances in parallel.
This is reproducible in chromedriver:2.15
我正在使用chromedriver 2.12.301324并且没有这个问题。