当前位置: 首页 > 知识库问答 >
问题:

如何在selenium python中使用特定的Chrome配置文件?

吕向荣
2023-03-14

自首次报道以来已经6年了:https://github.com/SeleniumHQ/selenium/issues/854

从这里https://chromedriver.chromium.org/getting-started我尝试这个代码:

import time
from selenium import webdriver

driver = webdriver.Chrome('/path/to/chromedriver')  # Optional argument, if not specified will search path.
driver.get('http://www.google.com/');
time.sleep(5) # Let the user actually see something!
search_box = driver.find_element_by_name('q')
search_box.send_keys('ChromeDriver')
search_box.submit()
time.sleep(60) # Let the user actually see something!
driver.quit()

当它启动时,去吧chrome://version/ 请参阅:

配置文件路径C:\Users\USERCU~1\AppData\Local\Temp\scoped\u dir13280\u 930640861\Default

为了设置某些配置文件,我尝试了下面的代码:如何使用Python Selenium Webdriver在Chrome中加载默认配置文件?

options = webdriver.ChromeOptions() 
options.add_argument("user-data-dir=C:\\Users\\user123\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 16") #Path to your chrome profile
w = webdriver.Chrome(executable_path="C:\\Users\\chromedriver.exe", chrome_options=options)

但是,它实际上不是使用指定的路径,而是在另一个配置文件的路径内创建配置文件,因此chrome://version显示:

配置文件路径C:\Users\usercuhuh\AppData\Local\Google\Chrome\User Data\Profile 16\Default

所以问题是\Default文件夹会自动添加到指定的用户数据目录中。我如何绕过它并实际启动profile 16?

共有1个答案

柴琦
2023-03-14

首先

更新您的ChromeDriver到最新版本

(本部分是强制性的)。然后将两个参数--profile directory=profile 1user data dir=C:\\Users\\user123\\AppData\\Local\\Google\\Chrome\\user data\\profile 16传递到Chrome二进制文件

options = Options()
options.add_argument('--profile-directory=Profile 16')
options.add_argument("user-data-dir=C:\\Users\\Hana\\AppData\\Local\\Google\\Chrome\\User Data\\") #Path to your chrome profile
driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe", options=options)

请注意,在用户数据目录中,您应该只传递所有配置文件的路径,然后特定配置文件(此处为配置文件16)的名称应该通过--配置文件目录

您可以在Github上的SeleniumWebDriver-Tiny_项目中查看名为PythonChromeProfile的完整源代码,我已经成功地对其进行了测试。您还可以阅读有关创建Chrome配置文件的内容,并在此处找到该配置文件的路径

 类似资料:
  • 因此,每当我尝试使用我的Chrome设置(我在默认浏览器中使用的设置)时,添加 它显示了错误代码 在我的狂欢中。我不知道这意味着什么,我很高兴能得到任何帮助。提前感谢!

  • 我想使用Python的webdriver启动带有默认配置文件的Chrome,以便Cookie和站点首选项在会话中保持不变。 我该怎么做?

  • 问题内容: 嗨,如何在Selenium(Python 3)中禁用GeckoDriver的日志文件? 如果不可能,如何将其重新定位到Temp文件? 问题答案: 要重新 放置GeckoDriver 日志,可以在项目空间中创建一个目录,例如 Log, 并且可以使用参数 log_path 将 GeckoDriver 日志存储在文件中,如下所示:

  • 问题内容: 我想使用带有以下条目的application.properties文件设置配置文件: 如何在我的context.xml文件中设置spring.profiles.active?init-param仅在web.xml上下文中有效。 问题答案: 有几种更改活动配置文件的方法,这些方法都不直接取自属性文件。 您可以像在问题中一样使用。 您可以在应用程序启动时提供系统参数 你可以得到从你和编程方

  • 问题内容: 我有一个在Hudson奴隶上运行的项目。我希望其中之一在Java6而不是默认值(我的环境中为Java5)下运行Ant。 在项目配置视图中,我希望找到以下两者之一: 一个显式选项,允许我设置一个自定义JDK位置以用于该项目。 一种为该项目设置自定义环境变量的方法,这将允许我将JAVA_HOME设置为JDK6位置。这将使Ant能够根据需要在Java6上运行。 有什么办法可以做到以上任一?如

  • 问题内容: 如何为Firefox设置Selenium Python环境?我正在使用Firefox 50,Selenium 3,Python 3.5,我尝试了许多二进制操作,并在环境路径中复制了geckodriver等。 问题答案: 据我了解,您想使用selenium库在python中进行开发并与Firefox webdriver一起工作。 安装python(python3已经包含pip) 安装硒(