gpt4 book ai didi

java - 向 Selenium2(WebDriver) chrome 驱动程序添加扩展

转载 作者:行者123 更新时间:2023-12-02 14:05:22 25 4
gpt4 key购买 nike

我使用下面的代码通过 webdriver (selenium 2) 启动 chrome

            Map<String, String> mobileEmulation = new HashMap<String, String>();
mobileEmulation.put("deviceName", "BlackBerry PlayBook");

Map<String, Object> chromeOptions = new HashMap<String, Object>();
chromeOptions.put("mobileEmulation", mobileEmulation);
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
driver = new ChromeDriver(capabilities);

如何在保留上述选项的同时加载 Chrome 扩展程序?

最佳答案

终于明白了!

the ChromeDriver capabilites page ,您需要将 .crx 文件转换为 base-64 编码的字符串。所以最终的答案将如下所示:

ArrayList<String> ext = new ArrayList<>();
extensionLocation = extensionDir + sep + extensionName + ".crx";
extension = new File(extensionLocation);
if (extension.exists() && !extension.isDirectory()) {
ext.add(Data.base64Encoder(extensionLocation));
}
chromeOptions.put("extensions", ext);

其中 Data.base64encoder() 是我的自定义编码方法。有很多示例说明如何根据您运行的 Java 版本执行此操作。基本上向其发送位置,读取二进制文件,然后返回一个字符串。

关于java - 向 Selenium2(WebDriver) chrome 驱动程序添加扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35858679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com