如何将现有的chrome安装与selenium webdriver一起使用?

j2datikz  于 2023-01-17  发布在  其他
关注(0)|答案(1)|浏览(163)

我想使用现有的chrome安装(或火狐或勇敢浏览器)与 selenium 。这样我就可以设置预先指定的设置/扩展(例如,打开新示例时启动nord-vpn),当浏览器用selenium打开时,它们是活动的。我知道有selenium.webdriver.service带有“executeable-path”选项,但当你指定一个特定的chrome.exe时,它似乎不起作用,使用似乎是为 chrome 驱动程序只,然后它仍然打开一个“新鲜”安装的 chrome 。
我认为用extension-file启动selenium也不适合nord-vpn扩展,因为我激活了双重认证,每次登录都要花费太多的时间和精力。

xlpyo6sf

xlpyo6sf1#

Firefox配置文件

要使用firefox的现有安装,必须使用 selenium.webdriver.common.options * 中的 Option 示例通过set_preference()方法传递配置文件路径*,如下所示:

from selenium.webdriver import Firefox
from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options

profile_path = r'C:\Users\Admin\AppData\Roaming\Mozilla\Firefox\Profiles\s8543x41.default-release'
options=Options()
options.set_preference('profile', profile_path)
service = Service('C:\\BrowserDrivers\\geckodriver.exe')
driver = Firefox(service=service, options=options)
driver.get("https://www.google.com")

您可以在Error update preferences in Firefox profile: 'Options' object has no attribute 'update_preferences'中找到相关的详细讨论

镀 chrome 配置文件

要使用google-chrome的现有安装,您必须使用user-data-dir密钥通过 Option 示例从 selenium.webdriver.common.options * 通过add_argument()传递用户配置文件路径*,如下所示:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

options = Options()
options.add_argument("user-data-dir=C:\\Users\\username\\AppData\\Local\\Google\\Chrome\\User Data\\Default")
s = Service('C:\\BrowserDrivers\\chromedriver.exe')
driver = webdriver.Chrome(service=s, options=options)
driver.get("https://www.google.com/")

您可以在How to open a Chrome Profile through Python中找到相关的详细讨论

相关问题