使用Selenium Webdriver无法将未打包的扩展程序加载到Chrome浏览器

3
我是新手使用WebDriver,但我按照此处所述(如何使用未打包的扩展程序启动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()
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()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接