如何在 selenium webdriver python 中使用 google chrome 用户 [更新]

How to use google chrome user in selenium webdriver python [updated]

提问人:nifise oguntoye 提问时间:11/10/2023 更新时间:11/10/2023 访问量:56

问:

我尝试使用(如何在 Selenium Webdriver Python 3 中使用 Chrome 配置文件)中的答案来解决这个问题,这就是我的代码的样子

chrome_options = ChromeOptions()
chrome_options.add_argument("--user-data-dir=/Users/nifiseoguntoye/Library/Application Support/Google/Chrome/")
chrome_options.add_argument('--profile-directory=Profile 7')

try:
    driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()), options=chrome_options)
    print("ChromeDriver is successfully initiated.")
except Exception as e:
    print(f"Error: {e}")

但是,我得到了错误:

Error: Message: session not created: Chrome failed to start: exited normally.
  (session not created: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /Applications/Google Chrome.app/Contents/MacOS/Google Chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

该帖子中的解决方案似乎已被弃用。有谁知道在网络驱动程序中使用我的 chrome 用户的更新方法?

python google-chrome selenium-chromedriver chrome-profile

评论


答:

0赞 Yaroslavm 11/10/2023 #1

您应该将 Chrome 配置文件存储在与 Chrome 不同的文件夹中。

Selenium直接从Chrome文件夹启动Chrome配置文件时遇到了问题。 (我猜是由于安全违规)。

在 Chrome 文件夹中创建文件夹 UserData 并复制到配置文件 7 中,因此您的路径如下:

path = '/Users/nifiseoguntoye/Library/Application Support/Google/Chrome/UserData'
options.add_argument(f"--user-data-dir={path}")
options.add_argument('--profile-directory=Profile 7')