在 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(); } }
廣告