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

lsmd5eda  于 2022-11-10  发布在  Python
关注(0)|答案(2)|浏览(187)

我一直在写的剧本效果很好。我只是添加了这个选项,这样它就可以使用下面的代码在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')

当使用时,我得到这个错误代码。

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'

我怎么才能解决这个问题呢?

xytpbqjk

xytpbqjk1#

创建打开一个新的Chrome配置文件,您需要执行以下步骤:

  • 打开Chrome浏览器,点击侧边菜单,然后点击设置,打开urlchrome://settings/
  • 人员部分,点击弹出的管理其他人员
  • 点击添加人员,提供人员姓名,选择图标,保持为该用户创建桌面快捷方式这一项处于选中状态,然后单击添加按钮。
  • 您的新简档即会创建。
    新画像快照Selify**

  • 现在将创建一个桌面图标,名称为Selify-Chrome
  • 从桌面图标的属性Selify-Chrome获取配置文件目录的名称。例如**--PROFILE-DIRECTORY=“Profile 2”**

  • 获取您系统中配置文件-目录的绝对路径,具体如下:
C:\\Users\\Otaku_Wiz\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 2
  • 现在,使用add_argument()方法,通过Options的示例,以及keyuser-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")
  • 执行Test
  • 观察Chrome被用Chrome配置文件初始化为selenium

hgncfbus

hgncfbus2#

您可以使用options = Options()options = webdriver.ChromeOptions()来代替options = webdriver.ChromeOptions
否则,您指向的是一个对象(即webdriver.ChromeOptions),而不是通过包含所需的括号来创建该对象的*示例

相关问题