zoukankan      html  css  js  c++  java
  • Selenium Chrome浏览器的启动以及proxy设置

    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来设置。暂时就先不写了,如果哪位需要,可以留言。
  • 相关阅读:
    POJ2785-4 Values whose Sum is 0
    Codeforce 9C
    Codeforces 797C -Minimal string
    程序员自我修养
    异或
    Socket网络编程
    java编写本月日历
    PreparedStatement的用法
    项目导入时报错:The import javax.servlet.http.HttpServletRequest cannot be resolved 解决方法
    Dell灵越 5559笔记本安装固态硬盘 BIOS设置
  • 原文地址:https://www.cnblogs.com/alisapan/p/6183032.html
Copyright © 2011-2022 走看看