虽然我意识到这不是“好的”做法 - 我有一个用例,我需要将 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 版本Chrome驱动程序74.0.3729.6 https://chromedriver.storage.googleapis.com/index.html?path=74.0.3729.6/(这是兼容版本)。
当 Chrome 打开时,我在 Chrome 设置中看不到任何 cookie,因此很明显它没有被指向我的默认会话。另外,我看到一个Selenium
目录已创建(这似乎意味着它无法连接到会话~/Library/Caches/Google/Chrome/Default
.
如何将 selenium 连接到我的默认 Chrome 会话?这与正常打开 Chrome 时看到的会话相同。
我看过另一个question https://stackoverflow.com/questions/50635087/how-to-open-a-chrome-profile-through-user-data-dir-argument-of-selenium,但是那里的答案未能解决如何将 Selenium 指向默认会话。另外 - 这是一个过时的问题 - Chrome 和 Chromedriver 从那时起已经取得了很大的进步。另外,那里的问题假设海报能够连接到默认会话 - 我无法做到这一点,这表明 Chromedriver/Chrome 从那时起已经发生了变化。另外这个问题是针对 Windows 的 - 我使用的是 Mac,其工作方式有所不同。
确保您使用“Chrome://version”指向正确的文件夹。
我使用的是 windows,但你的 mac 情况也应该类似。
参考这个链接 https://chromium.googlesource.com/chromium/src/+/master/docs/user_data_dir.md了解更多信息。
如何创建自定义配置文件:
您只需运行 Chrome(在命令行上或通过 ChromeDriver)并将 user-data-dir 开关设置为某个新目录即可创建自己的自定义配置文件。如果该路径不存在,Chrome 将在指定位置创建新的配置文件。然后,您可以根据需要修改配置文件设置,ChromeDriver 将来可以使用该配置文件。在浏览器中打开 chrome://version 查看 Chrome 使用的配置文件。
参考:
http://chromedriver.chromium.org/capability http://chromedriver.chromium.org/capabilities
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)