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来设置。暂时就先不写了,如果哪位需要,可以留言。
  • 相关阅读:
    mac PHP安装imageMagic扩展
    使用AWS Lambda,API Gateway和S3 Storage快速调整图片大小
    composer Changed current directory to没反应
    mongodb批量update更新数据
    php 判断图片文件的真实类型
    C#选择文件、选择文件夹、打开文件(或者文件夹)
    C#连接数据库
    湿寒阳虚体质如何艾灸
    女人艾灸穴位
    四个穴位掌控全身健康
  • 原文地址:https://www.cnblogs.com/alisapan/p/6183032.html
Copyright © 2011-2022 走看看