如何通过 Python 打开 Chrome 配置文件

Ota*_*Wiz 8 python selenium google-chrome selenium-chromedriver chrome-profile

我一直在写的剧本一直工作得很好。我刚刚添加了该选项,因此它将使用此代码在 chrome 上打开一个配置文件。

options = webdriver.ChromeOptions
browser = webdriver.Chrome(executable_path=r"C:\Users\princess\AppData\Local\Programs\Python\Python36-32\chromedriver.exe", chrome_options=options)
options.add_argument(r'user-data-dir=C:\Users\princess\AppData\Local\Google\Chrome\User Data')
options.add_argument('--profile-directory=Profile 1')
Run Code Online (Sandbox Code Playgroud)

使用时,我收到此错误代码。

C:\Users\Princess\Desktop>CHBO.py
Traceback (most recent call last):
  File "C:\Users\Princess\Desktop\CHBO.py", line 12, in <module>
    browser = webdriver.Chrome(executable_path=r"C:\Users\princess\AppData\Local\Programs\Python\Python36-32\chromedriver.exe", chrome_options=options)
  File "C:\Users\Princess\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 59, in __init__
    desired_capabilities = options.to_capabilities()
TypeError: to_capabilities() missing 1 required positional argument: 'self'
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

Deb*_*anB 15

创建打开新的Chrome 配置文件,您需要按照以下步骤操作:

  • 开放的Chrome浏览器,点击侧边菜单,然后点击设置在其上的网址 chrome://settings/打开。
  • 在“人员”部分,单击弹出窗口的管理其他人员
  • 单击ADD PERSON,提供人名,选择一个图标,保持选中为此用户创建桌面快捷方式的项目,然后单击ADD按钮。
  • 您的新个人资料已创建。
  • 新配置文件SeLeNiUm 的快照

硒

  • 现在桌面图标将创建为SeLeNiUm - Chrome
  • 从桌面图标SeLeNiUm - Chrome的属性中获取配置文件目录的名称。例如--profile-directory="配置文件 2"

配置文件目录

  • 获取系统中配置文件目录的绝对路径,如下所示:

    C:\\Users\\Otaku_Wiz\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 2
    
    Run Code Online (Sandbox Code Playgroud)
  • 现在将profile-directory的值通过Options with add_argument()method 和 key user-data-dir实例传递,如下所示:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    options = Options()
    options.add_argument("user-data-dir=C:\\Users\\AtechM_03\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 2")
    driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe', chrome_options=options)
    driver.get("https://www.google.co.in")
    
    Run Code Online (Sandbox Code Playgroud)
  • 执行你的 Test

  • 观察Chrome使用Chrome 配置文件初始化为SeLeNiUm

硒

  • 视窗!哎呀!如果您在 Linux 上查找配置文件,请转到 /home/{user}/.config/google-chrome。对我来说,它创建了一个“配置文件 1”。如果您使用的是 Mac,请转到 Users/&lt;user&gt;/Library/Application Support/Google/Chrome(有人告诉我) (2认同)

小智 3

您可以使用options = Options()options = webdriver.ChromeOptions()代替options = webdriver.ChromeOptions

否则,您将指向一个对象(即webdriver.ChromeOptions),并且不会通过包含所需的括号来创建该对象的实例