在 Chrome 浏览器中使用 Selenium WebDriver 加载扩展程序是否有办法?
我们可以使用 Selenium webdriver 在 Chrome 浏览器中加载扩展程序。
当我们在本地系统中使用 Chrome 浏览器时,可以向其中添加多个扩展程序。
但是,当 Chrome 浏览器由 Selenium webdriver 启动时,本地浏览器可用的扩展程序可能不存在。我们必须借助扩展程序的 .crx 文件显式添加它们。
例如,要添加 Momentum 扩展程序,请访问以下链接:https://chrome.google.com/webstore/category/extensions。
在搜索框中输入 Momentum 并按 Enter 键。从搜索结果中选择正确的选项。
导航到下一页后,我们将获得此扩展程序的详细信息。我们需要复制此页面的 URL。
访问以下链接:https://chrome-extension-downloader.com/
将我们复制的 URL(在前面的步骤中)粘贴到“下载扩展程序”按钮左侧的编辑框中。然后单击“下载扩展程序”。
系统应该会下载一个 .crx 文件(Momentum 扩展程序)。现在,要将此扩展程序添加到 Selenium 启动的 Chrome 浏览器中,我们必须使用 ChromeOptions 类并创建其实例。
然后,我们必须在其上应用 addExtensions 方法。我们将下载的 .crx 文件的路径作为参数传递给此方法。最后,我们必须使用 DesiredCapabilities 类并使用 setCapability 方法配置 Chrome 浏览器的功能。
示例
import org.openqa.selenium.WebDriver; import org.openqa.selenium.Capabilities; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import java.io.File; public class ChromBrwExt{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); //ChromeOptions object ChromeOptions o= new ChromeOptions(); //configure path of .crx file o.addExtensions (new File("C:\Users\Ext\Momentum_v0.92.2.crx")); //DesiredCapabilities object DesiredCapabilities cp = DesiredCapabilities.chrome(); // set browser capability cp.setCapability(ChromeOptions.CAPABILITY, o); // add capability to driver WebDriver driver = new ChromeDriver(cp); //URL launch driver.get("https://www.google.com/"); //browser close driver.close(); } }
广告