通过Headless Chrome执行Selenium脚本
来源:互联网 发布:中国数据分析行业协会 编辑:程序博客网 时间:2024/06/05 18:33
文章来源:
简书:http://www.jianshu.com/p/b01de206a0d7
以往我们执行Selenium脚本,如果为了提高脚本的执行速度,我们可能会考虑使用HtmlUnit 或者更多的使用PhantomJS这类的Headless 浏览器,但这些工具要嘛对JavaScript支持不好,要嘛对web的支持不好,占用资源多,跟真实浏览器存在一定的差异等等问题。
现在,Chrome 浏览器提供了Headless Chrome,简单说我们也可以在不打开chrome GUI的情况在Chrome下执行我们的Selenium脚本。
如果想使用Headless Chrome 对Chrome版本有一定的要求,从官方文档我们可以看出,mac和linux环境要求chrome版本是59+,而windows版本的chrome要求是60+,同时chromedriver要求2.30+版本
假设你环境都已经具备了,那么我直接运行下面的Java Demo例子感受下:
@Testpublic void OpenChromeTest() { String path = System.getProperty("user.dir");
System.setProperty("webdriver.chrome.driver", path + "\\drivers\\chromedriver.exe"); ChromeOptions chromeOptions = new ChromeOptions();// 设置为 headless 模式 (必须) chromeOptions.addArguments("--headless");// 设置浏览器窗口打开大小 (非必须) chromeOptions.addArguments("--window-size=1920,1080"); WebDriver driver = new ChromeDriver(chromeOptions); driver.get("http://www.baidu.com"); String title = driver.getTitle(); System.out.println(title); driver.quit(); }
脚本运行我们确实没看到有任何的chrome浏览器启动,但是控制台也准确输出了:
如果你想了解更多关于headless chrome,可以查看官网文档:https://developers.google.cn/web/updates/2017/04/headless-chrome
最后最后,从Firefox官方上看到,火狐也将推出headless模式,预计在linux环境的55版本推出,并Firefox 56版本在全平台推出。值得期待!
阅读全文
0 0
- 通过Headless Chrome执行Selenium脚本
- Selenium+Chrome headless
- Selenium + Headless Chrome with Python3
- selenium +chrome headless Adhoc模式渲染网页
- selenium +chrome headless Manual 模式渲染网页
- phantomjs + selenium headless test
- Headless Chrome入门
- linux 安装 Headless Chrome
- selenium webdriver 之 Chrome -headless set proxy 暨 自动化测试中无头谷歌浏览器设置代理
- selenium之执行JavaScript脚本
- Headless Execution of Selenium Tests in Jenkins
- 执行 Selenium WebDriver 测试脚本抛出 StaleElementReferenceException
- Selenium+Webdriver学习(三) 执行JS脚本
- Selenium+Webdriver学习(三) 执行JS脚本
- Selenium Grid2分布式执行测试脚本
- Python+selenium创建自动执行命令脚本
- selenium运行自动化脚本(验证通过)
- 利用 Headless Chrome 根据url生成pdf
- GPUImage美颜视频录制
- day10-java&oracle总结
- 2017年8月10日提高组T1 数学
- Jsp知识点之二——指令
- Gson解析Json数据(二)
- 通过Headless Chrome执行Selenium脚本
- 安装Composer
- day11-java总结
- cocoapods安装中遇到的问题
- 算法分析基础学习笔记
- 线段树——区间合并——hud1540
- 对HTTPS的理解
- 【贪心+堆】Codeforces725D[Contest Balloons]题解
- c++ error thread