无法使用 Selenium webdriver 将解压的扩展加载到 chrome 中

问题描述 投票:0回答:2

我是使用网络驱动程序的新手,但我遵循了此处提到的内容(如何使用未打包的扩展程序启动 Chrome?)以及我可以从其他网络搜索中获得的所有内容。

我正在尝试测试我开发的 chrome 扩展,但我无法弄清楚如何启动加载了扩展的 chrome。这是我到目前为止所拥有的,如果有人能告诉我代码的问题(我成功使用 webdriver 启动 Chrome),我将不胜感激:

import time 

from selenium import webdriver

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

browser = webdriver.Chrome() browser.get('http://seleniumhq.org/')

ChromeOptions options = new ChromeOptions();

options.addArguments("load-extension=C:\Users\mave\Desktop\Browser_Extension_Feature\extension_v5");

DesiredCapabilities capabilities = new DesiredCapabilities();

capabilities.setCapability(ChromeOptions.CAPABILITY, options);

ChromeDriver driver = new ChromeDriver(capabilities);

time.sleep(15)

browser.quit()
google-chrome selenium google-chrome-extension webdriver
2个回答
2
投票

我终于能够弄清楚如何运行解压的扩展,并将此代码留给将来遇到类似问题的任何人:

import time

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

chrome_options = Options()

chrome_options.add_argument("load-extension=C:\Users\mave\Desktop\Browser_Extension_Feature\extension_v5");

browser = webdriver.Chrome(chrome_options=chrome_options)

browser.get('http://www.seleniumhq.org/')

time.sleep(5)

browser.quit()

0
投票

此代码应该允许您根据需要运行解压的扩展,自 2023 年 9 月起运行。

值得一提的是,扩展的路径似乎必须以绝对路径的形式提供,并且不能是相对于当前工作目录或类似路径的路径。

在此示例中,假设扩展程序解压在非压缩文件夹中。

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

PATH_TO_CHROME_EXTENSION_DIR = r"C:\your\path\here"

options = Options()
options.add_extension(f"--load-extension={PATH_TO_CHROME_EXTENSION_DIR}")

driver = webdriver.Chrome(chrome_options=options)

driver.get('https://www.google.com/')

input("press enter to end programme")
driver.quit()
© www.soinside.com 2019 - 2024. All rights reserved.