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来设置。暂时就先不写了,如果哪位需要,可以留言。

最新文章

  1. android_studio上传svn的时候那些不提交
  2. mysql在linux下修改存储路径
  3. mongodb字段类型转化
  4. Jmeter基础之---jmeter基础概念
  5. jq判断 复选框是否被选中 亲测可用
  6. FrameLayout
  7. POJ 2773 Happy 2006 数学题
  8. PHP socket类
  9. python 性能- and-or 学习技能
  10. js实现二级联动下拉列表菜单
  11. ABP入门系列(19)——使用领域事件
  12. Nginx详解以及LNMP的搭建
  13. [AH/HNOI2017]大佬
  14. docker 安装mysql数据库 <二>
  15. 社会单位消防安全户籍化管理系统——半自动提交V1.0版本
  16. Alpha冲刺报告(11/12)(麻瓜制造者)
  17. Qt 4.7.2移植到ARM教程
  18. Prometheus+Grafana监控部署实践
  19. 编写高质量代码改善C#程序的157个建议——建议133:用camelCasing命名私有字段和局部变量
  20. Linux修改用户密码

热门文章

  1. Codeforces Round #389 (Div. 2,) B C
  2. mysql在同一个表上查询和更新
  3. VS2010中,无法嵌入互操作类型“……”,请改用适用的接口的解决方法(转自网络)
  4. python学习道路(day11note)(协程,同步与异步的性能区别,url爬网页,select,RabbitMq)
  5. [skill] 进程 线程
  6. visual studio快捷键
  7. C和C++混合编程中的extern "C" {}
  8. WordPress基础:小工具的使用
  9. 用Pyinstaller打包发布exe应用
  10. 远程连接服务器for Linux