Selenium Chrome浏览器的启动以及proxy设置

虽然WebDriver对Firefox的支持最好,之前写的脚本也都在Firefox浏览器运行,但最近项目做了整合,发现新整合的功能不太支持Firefox,而近期也没有计划做浏览器兼容性方面的改进,所以我的自动化脚本要重新修改,运行在都有良好支持的Chrome浏览器上。说了这么多背景,我们就进入正题吧。

1. 首先需要下载chromeDriver.

http://chromedriver.storage.googleapis.com/index.html

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

时间: 2024-08-09 17:11:13

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

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

chrome浏览器插件启动本地应用程序 2014-04-20 00:04:30|  分类: 浏览器插件|举报|字号 订阅 下载LOFTER我的照片书  | chrome的插件开发这里就不多讲了,本篇文章只讲如何调用谷歌浏览器的api启动本地的程序并与之通信 要启动本地的应用插件需要包括两部分的内容: 1)安装到浏览器的插件部分 2)放置在本地的json文件 第一部分就跟普通的谷歌浏览器插件是一样的,包括两个必须的文件: 1)background.js(名字不一定为background......

Selenium之Chrome浏览器的启动

1.下载Chromedriver.exe文件放至需要的目录中: 2.编写代码 import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; /** * Created by Administrator on 2018/3/29 0029. */ public class ChromeTest { public static void main(String[] args){ WebDri

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

在实现了.Net程序中嵌入Chrome浏览器后,下一步的个性化操作就是加入一些设置了,在前面的文章中,我们可以看到在使用Chrome控件前,有如下一个操作: ????var setting = new CefSharp.CefSettings();????CefSharp.Cef.Initialize(setting, true, false); 这个setting变量就是用来存放chrome的全局设置的地方,当需要进行设置的时候,只需要对它进行修改即可.例如,我们要修改缓存目录,只需要如下设置

Ubuntu安装Chrome浏览器,并解决Chrome浏览器无法启动问题

安装Chrome浏览器 #将下载源加入到系统的源列表 sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/ #导入谷歌软件的公钥,用于下面步骤中对下载软件进行验证 wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - #对当前系统的可用更新列表进行更新 s

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

System.setProperty("webdriver.chrome.driver","chromedriver.exe路径"); 配置好Chrome的驱动之后,执行,报以下错误: 三月 29, 2018 10:47:27 下午 org.openqa.selenium.os.UnixProcess checkForError 严重: org.apache.commons.exec.ExecuteException: Execution failed (Exit

windows & mac chrome浏览器的跨域设置—包括版本49前后两种设置

做前后分离的webapp开发的时候,出于一些原因往往需要将浏览器设置成支持跨域的模式,好在chrome浏览器就是支持可跨域的设置,网上也有很多chrome跨域设置教程.但是新版本的chrome浏览器提高了跨域设置的门槛,原来的方法不再适用了.下面笔者简单介绍一下新版本chrome的跨域设置方法. 版本号49之前的跨域设置 先介绍一下老方法,参考了一些网上的教程,其实直接在打开命令上加--disable-web-security就可以了. 具体做法为: 1.下载并安装好chorme浏览器后在桌面找

chrome浏览器爬虫WebDriverException解决采用python + selenium + chrome + headless模式

WebDriverException: Message: unknown error: Chrome failed to start: crashed 1. 背景在使用selenium + chrome浏览器渲染模式爬取数据时,如果并发任务过多,或者爬虫的运行时间很长,那么很容易出现浏览器崩溃的现象,如下: 这一般是资源消耗过大造成的(据说chrome浏览器有内存泄漏的情况).那如何解决这个问题呢? 这种情况下,我们首先就会想到使用无界面的浏览器PhantomJS,但是PhantomJS现在年久

chrome浏览器的跨域设置——包括版本49前后两种设置

做前后分离的webapp开发的时候,出于一些原因往往需要将浏览器设置成支持跨域的模式,好在chrome浏览器就是支持可跨域的设置,网上也有很多chrome跨域设置教程.但是新版本的chrome浏览器提高了跨域设置的门槛,原来的方法不再适用了.下面笔者简单介绍一下新版本chrome的跨域设置方法. 版本号49之前的跨域设置 先介绍一下老方法,参考了一些网上的教程,其实直接在打开命令上加--disable-web-security就可以了. 具体做法为: 1.下载并安装好chorme浏览器后在桌面找

chrome浏览器设置小于12号的字体不起作用?

在某些chrome浏览器下,css里设置的10号字体竟然不起作用!仍显示12号大小,对比firefox.ie6.7.8.9,他们的显示都是好的. 要是你也碰到这问题,可以这样解决: -webkit-text-size-adjust: none; 在css里加上这一句就可以.如你的样式是这样写的: .copyright{ font-size:10px; background-color:#eee; } 给copyright加上-webkit-text-size-adjust就可以了: .copyr