雖然WebDriver對Firefox的支持最好,之前寫的腳本也都在Firefox瀏覽器運行,但最近項目做了整合,發現新整合的功能不太支持Firefox,而近期也沒有計划做瀏覽器兼容性方面的改進,所以我的自動化腳本要重新修改,運行在都有良好支持的Chrome瀏覽器上。說了這么多背景,我們就進入正題吧。
1. 首先需要下載chromeDriver.
2. 將下載好的文件解壓,將chromedriver.exe拷貝到chrome根目錄,一般是在appication目錄下
3.可以使用chromeDriver了,如果把chromedriver拷貝到項目根目錄就不需要setProperty了,但是我是放到了Chrome根目錄下,所以要設置驅動路徑。
System.setProperty("webdriver.chrome.driver","C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
WebDriver driver=new ChromeDriver(); //初始化瀏覽器
4.以上三步后,其實就可以直接進入腳本的編寫了。但是有時候根據需要可能設置下代理和端口。雖然我自己的腳本是不需要設置的,它用了默認的proxy和端口。但是之前腳本出了個錯誤,我就誤認為是proxy設置有問題,所以還寫腳本對proxy重新設置了下,后來還是沒通過,同事幫我分析之后說不用,神奇注釋掉代碼居然通過了,真是不知道之前的錯誤哪兒來,好吧,就當是學習了。
通過以下代碼可以對運行時的proxy進行設置:
/* String proxyIpAndPort= "localhost:8080";
DesiredCapabilities cap = new DesiredCapabilities();
Proxy proxy=new Proxy();
proxy.setHttpProxy(proxyIpAndPort).setFtpProxy(proxyIpAndPort).setSslProxy(proxyIpAndPort);
cap.setCapability(CapabilityType.ForSeleniumServer.AVOIDING_PROXY, true);
cap.setCapability(CapabilityType.ForSeleniumServer.ONLY_PROXYING_SELENIUM_TRAFFIC, true);
System.setProperty("http.nonProxyHosts", "localhost");
cap.setCapability(CapabilityType.PROXY, proxy);*/
至於Firefox,它也是每次啟動firefox會自動生成一個profile,而不會使用當前Firefox的profile,可以通過FirefoxProfile來設置。暫時就先不寫了,如果哪位需要,可以留言。
