【发布时间】:2019-10-14 02:54:24
【问题描述】:
虽然我意识到这不是“好”的做法 - 我有一个用例,我需要将 Selenium 驱动程序指向(连接)到我的默认 Chrome 会话/配置文件。
我的默认配置文件在这里:
~/Library/Caches/Google/Chrome/Default
这是我目前的设置方式:(不工作)
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("--user-data-dir=~/Library/Caches/Google/Chrome")
options.add_argument("--profile-directory=Default")
browser = webdriver.Chrome(options=options, executable_path=r"./chromedriver")
browser.get("http://google.com")
我正在使用 Chrome 版本 74.0.3729.169 和 chromedriver 版本 ChromeDriver 74.0.3729.6(这是兼容版本)。
当 Chrome 打开时,我在 Chrome 的设置中看不到任何 cookie,因此很明显它没有指向我的默认会话。另外,我看到已经创建了一个Selenium 目录(这似乎意味着它无法连接到~/Library/Caches/Google/Chrome/Default 的会话。
如何将 selenium 连接到我的默认 Chrome 会话?这与正常打开 Chrome 时看到的会话相同。
我查看了另一个question,但那里的答案未能解决如何将 Selenium 指向默认会话。此外 - 这是一个过时的问题 - 从那时起,Chrome 和 Chromedriver 取得了很大进展。此外,那里的问题假设发布者能够连接到默认会话 - 我无法做到这一点,这表明 Chromedriver/Chrome 从那时起发生了变化。这个问题也适用于 Windows - 我在 Mac 上,工作方式不同。
【问题讨论】:
-
这只是一个猜测,但您可能希望删除波浪号并使用完整路径(包括默认目录)。此外,documentation 提到使用 chrome://version URL 来查看 Chrome 最终使用的内容。
-
问题是我没有引用
chrome://version,这表明真正的路径实际上是~/Library/Application Support/Google/Chrome/ -
@etayluz,是的,您为“个人资料路径”使用了错误的路径。
标签: selenium google-chrome selenium-webdriver cookies session-cookies