1. 程式人生 > >selenium 3 呼叫 指定Firefox profile

selenium 3 呼叫 指定Firefox profile

webdriver對Windows原生程式的支援一直都不是特別好,所以如果在做專案的時候牽扯到對Windows原生程式的操作,我們可能需要藉助一些其他手段。

比如某個專案的登入框直接複用的Windows原生登入框,這個就無法被webdriver定位到,這塊可以藉助Firefox profile來解決。

我們可以從cmd進入Firefox的安裝目錄,用Firefox.exe -p 來啟動Firefox profile的設定框:



可以新建一個,然後把特定的使用者名稱密碼儲存到瀏覽器裡,這樣下次啟動該profile的時候,就會彈出已經填好的使用者名稱密碼。

然後用下列程式碼進行呼叫:

 ProfilesIni pi = new ProfilesIni();
 FirefoxProfile profile = pi.getProfile("selenium");
 System.setProperty("webdriver.gecko.driver","C:/Program Files (x86)/Mozilla Firefox/geckodriver.exe");
 FirefoxOptions options = new FirefoxOptions();
 options.setProfile(profile);
 WebDriver webdriver = new FirefoxDriver(options);
這樣啟動的瀏覽器就是我們已經儲存好使用者名稱密碼的瀏覽器了。

我們只要在載入專案頁之後做一下處理,就能登陸了。

 Alert alert = webdriver.switchTo().alert() ;
 alert.accept();