Selenium ChromeDriver:无法设置用户数据目录 [英] Selenium ChromeDriver: unable to set user-data-dir

查看:716
本文介绍了Selenium ChromeDriver:无法设置用户数据目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将用户导向器设置为我的默认用户数据目录(因此,我不必担心每次都要输入网站密码并登录):

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆