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

Selenium Chrome浏览器的启动以及proxy设置的更多相关文章

  1. Selenium +Chrome浏览器如何模拟手机操作

    Selenium +Chrome浏览器如何模拟手机操作 进入手机模式 打开谷歌浏览器,按F12,进入开发者模式,点击Toggle device toolbar,进入手机模式 设置Chrome的手机模式 ...

  2. Python3 + selenium + Chrome浏览器(webdriver.Chrome()报错)

    Python3 + selenium + Chrome浏览器 Error: selenium.common.exceptions.WebDriverException: Message: 'chrom ...

  3. chrome浏览器插件启动本地应用程序

    chrome浏览器插件启动本地应用程序 2014-04-20 00:04:30|  分类: 浏览器插件|举报|字号 订阅     下载LOFTER我的照片书  |     chrome的插件开发这里就 ...

  4. Selenium之Chrome浏览器的启动

    1.下载Chromedriver.exe文件放至需要的目录中: 2.编写代码 import org.openqa.selenium.WebDriver; import org.openqa.selen ...

  5. 使用CefSharp在.Net程序中嵌入Chrome浏览器(二)——参数设置

    在实现了.Net程序中嵌入Chrome浏览器后,下一步的个性化操作就是加入一些设置了,在前面的文章中,我们可以看到在使用Chrome控件前,有如下一个操作: var setting = new Cef ...

  6. Centeos7搭建selenium+Chrome浏览器

    博主主要是用来更新爬虫Cookie 环境安装 python3 安装selenium pip3 install selenium 安装chrome浏览器+chromedriver驱动 一.配置yum源 ...

  7. Kali Linux中Chrome浏览器不能启动的问题

    kali中自带了Chromium Web Browser,我点了几次没反应.我还以为是Chrome的版本问题.于是下载了Chrome的deb包. 安装中还解决了一个包依赖问题.安装成功还是不能启动.于 ...

  8. [转]关闭 Chrome 浏览器的启动时提示 - 请停用以开发者模式运行的扩展程序

    最新版本 69.0.3497.92 (x64) 解决办法: https://www.cnblogs.com/liuxianan/p/disable-chrome-extension-warning.h ...

  9. Selenium之Chrome浏览器的启动问题及解决

    System.setProperty("webdriver.chrome.driver","chromedriver.exe路径"); 配置好Chrome的驱动 ...

随机推荐

  1. Mybatis学习记录

    参考资料: <深入理解mybatis原理> MyBatis的架构设计以及实例分析

  2. 关于JavaScript的判断语句(2)

    上一篇描述的都是一些通过条件判断来执行,符合条件下面的代码块,达到对动作的反应效果 这篇将描述的是for. for/in. while. do/while循环语句. for语句: for(i=0,i& ...

  3. Ref 与 Out 的使用方法及区别

    C# 中我们有的时候会遇到这样的情况,一个方法需要返回多个参数的时候.怎么办呐? 我们可以给返回的参数加上 Out  或  Ref 类型标识  就可以实现返回多个参数了. 具体他们两个的用法有什么区别 ...

  4. android逆向代码分析截图

  5. 基于 Token 的身份验证方法

    使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录.大概的流程是这样的: 客户端使用用户名跟密码请求登录 服务端收到请求,去验证用户名与密码 验证成功后,服务端会签发一个 Toke ...

  6. 使用JCIFS获取远程共享文件

    package com.jadyer.util;  import java.io.File; import java.io.FileOutputStream; import java.io.IOExc ...

  7. Spring Boot项目中使用jdbctemplate 操作MYSQL数据库

    不废话,先来代码 pom文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http ...

  8. HBASE基础知识

    HBASE的集群的搭建HBASE的表设计HBASE的底层存储模型 HBase 是一个高可靠.高性能.面向列.可伸缩的分布式缓存系统.利用HBase 技术可在廉价PC Server上搭建起大规模结构化存 ...

  9. python csv用法

    csv打开文件的时候,如下代码,出错: import csv name = "D:\\selenium\\data\\name.csv" inf= csv.reader(open( ...

  10. HUD 5050 Divided Land

    http://acm.hdu.edu.cn/showproblem.php?pid=5050 题目大意: 给定一个矩形的长和宽,把这个矩形分成若干相等的正方形,没有剩余.求正方形的边长最长是多少. 解 ...