在 mac 上使用 python 和 selenium 使用默认用户配置文件打开 chrome

Open chrome with default user profile using python and selenium on mac

我正在尝试让 Selenium 打开 Chrome 就像我自己打开它一样,即我应该像 Facebook 一样登录到我的帐户。

我有以下代码:

def startChrome():
    options = webdriver.ChromeOptions() 
    options.add_argument("user-data-dir=/Users/alexiseggermont/Library/Application Support/Google/Chrome/Default/")
    driver = webdriver.Chrome(chrome_options=options)
    driver.set_page_load_timeout(60)
    return driver

driver = startChrome()
url = 'https://www.facebook.com'
driver.get(url)

然而,这让我在没有登录的情况下进入了 Facebook。我已经检查 chrome://version 并且配置文件 URL 实际上是正确的。我做错了什么?

使用 Python3,Chrome 版本 63.0.3239.84,MacOS High Sierra

删除路径末尾的 Default/

options.add_argument("user-data-dir=/Users/alexiseggermont/Library/Application Support/Google/Chrome/")

在 PC 上,它通常类似于:

options.add_argument('user-data-dir=C:/Users/{USERNAME}/AppData/Local/Google/Chrome/User Data')

您需要检查您是否拥有 chrome 驱动程序和 chrome 的兼容版本 - 最简单的方法是检查两者是否都是最新的。

如果它在打开时立即崩溃,请检查 the chromedriver help page。也许尝试禁用所有扩展,看看是否有帮助。

作为对 EnergyNumbers 答案的补充,您还必须确保在启动脚本之前确实已经退出 chrome。

就我而言,我经常收到错误 Chrome failed to start: exited abnormally (unknown error: DevToolsActivePort file doesn't exist)

但是当我在启动脚本之前退出 chrome 时,它立即消失了。显然,不能同时打开同一配置文件的 2 个实例。