Selenium Chrome瀏覽器的啟動以及proxy設置


雖然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來設置。暫時就先不寫了,如果哪位需要,可以留言。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM