Selenium ChromeDriver:无法设置用户数据目录 [英] Selenium ChromeDriver: unable to set user-data-dir
问题描述
我将用户导向器设置为我的默认用户数据目录(因此,我不必担心每次都要输入网站密码并登录):
I'm setting the user director to be my default User data directory as such (so I don't have to worry about entering passwords to sites and logging in each time):
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("--user-data-dir=~/Library/Application\ Support/Google/Chrome/Default/")
browser = webdriver.Chrome(options=options, executable_path=r"chromedriver")
browser.get('https://mail.google.com/mail/u/0/')
print browser.desired_capabilities
现在,我希望我的Gmail出现,但它要求我登录.
Now I would expect my Gmail to come up but it asks me to sign in.
此外,当我打印所需的功能时,似乎根本没有设置用户数据目录:
Further, when I print the desired capabilities it appears that the user data directory has NOT been set at all:
{u'takesScreenshot':是的,u'acceptSslCerts':是的, u'networkConnectionEnabled':错误,u'mobileEmulationEnabled':False, u'unexpectedAlertBehaviour':u'',u'applicationCacheEnabled':False, u'locationContextEnabled':真,u'可旋转':假,u'chrome': {u'chromedriverVersion':u'2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b)', u'userDataDir': u'/var/folders/2r/twg_2d4j5cnf2d6k1m_mnx4c0000gn/T/.org.chromium.Chromium.ihUqp7'} , u'hasTouchScreen':否,u'platform':u'Mac OS X',u'version': u'70.0.3538.110',u'nativeEvents':真,u'handlesAlerts':真, u'takesHeapSnapshot':正确,u'javascriptEnabled':正确, u'databaseEnabled':否,u'browserName':u'chrome', u'webStorageEnabled':true,u'browserConnectionEnabled':False, u'cssSelectorsEnabled':正确,u'pageLoadStrategy':u'normal'}
{u'takesScreenshot': True, u'acceptSslCerts': True, u'networkConnectionEnabled': False, u'mobileEmulationEnabled': False, u'unexpectedAlertBehaviour': u'', u'applicationCacheEnabled': False, u'locationContextEnabled': True, u'rotatable': False, u'chrome': {u'chromedriverVersion': u'2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b)', u'userDataDir': u'/var/folders/2r/twg_2d4j5cnf2d6k1m_mnx4c0000gn/T/.org.chromium.Chromium.ihUqp7'}, u'hasTouchScreen': False, u'platform': u'Mac OS X', u'version': u'70.0.3538.110', u'nativeEvents': True, u'handlesAlerts': True, u'takesHeapSnapshot': True, u'javascriptEnabled': True, u'databaseEnabled': False, u'browserName': u'chrome', u'webStorageEnabled': True, u'browserConnectionEnabled': False, u'cssSelectorsEnabled': True, u'pageLoadStrategy': u'normal'}
我正在使用最新版本的Selenium(3.141)和ChromeDriver(2.29.461585)
I am on the latest version of Selenium (3.141) and ChromeDriver (2.29.461585)
推荐答案
您需要删除/Default/
,因为它对--user-data-dir
无效,对--profile-directory
you need to remove /Default/
because its not valid directory for --user-data-dir
it is for --profile-directory
options.add_argument('--profile-directory=Default')
# or
options.add_argument('--profile-directory=other_profile')
这篇关于Selenium ChromeDriver:无法设置用户数据目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!