selenium 3 呼叫 指定Firefox profile
阿新 • • 發佈:2019-01-23
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();