java用selenium库控制chrome

发表于:2018-7-30 17:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:weiyinfu    来源:博客园

   一.简介
  selenium是浏览器自动化工具,可以通过程序来控制浏览器行为,这就是selenium!你可以用它做任何你想做的事情.很多时候人们用它测试web应用,但selenium的用途绝不仅限于此.selenium拥有大多数浏览器厂商的支持,它可以驱动大多数浏览器.selenium的原理很简单,浏览器本身就提供了自动化接口,selenium只是把这些接口封装了一下,以统一的形式来编程,不必每个浏览器编一套程序.
  selenium-RemoteControl已经被slenium-WebDriver所替代,selenium-RC已经不鼓励使用了.selenium IDE是一个firefox插件,可以方便地录制用户操作,是一个可视化插件.
  要想使用selenium控制浏览器,可能需要浏览器提供的相应的驱动程序,如chrome就需要chrome-driver.在selenium官网上提供了与selenium有关的第三方工具.http://docs.seleniumhq.org/download/
  selenium对于firefox支持得最好,有一个firefox插件selenium IDE,这个插件只能在firefox下使用.
  selenium的主要用途是测试软件,当然也可以干别的事.比如爬取需要手动输入验证码的网站.
  selenium是用java语言编写的,但是提供java,C#,python,nodeJS等语言的调用接口,也有第三方实现的selenium接口.
  selenium可以通过命令行方式交互式执行,也可以通过编写程序执行.
  htmlUnit是一个用java语言编写的模拟浏览器,但是它不是真正的浏览器,它连个界面都没有,只是一个模拟的浏览器.它对于js和css支持的不够完善,功能上肯定比不上真正的浏览器,但是它速度快,有时候是非常有用的.关键是它是基于java的浏览器.在使用selenium时,浏览器就可以使用htmlUnit作为浏览器,它的优点就是速度快.
  二.下载
  1.下载chrome-webdriver
  在selenium官网上的download页面中提供了chrome-webdriver的下载链接.
  https://sites.google.com/a/chromium.org/chromedriver/downloads
  如果这个链接失效了,请百度"selenium chrome"
  如果不下载chrome-webdriver,而直接写chrome.exe的路径,会报错
  [1020:6356:1004/173348:ERROR:cache_util_win.cc(20)] Unable to move the cache: 0
  [1020:6356:1004/173348:ERROR:cache_util.cc(134)] Unable to move cache folder C:\Users\weidiao\AppData\Local\Google\Chrome\User Data\ShaderCache\GPUCache to C:\Users\weidiao\AppData\Local\Google\Chrome\User Data\ShaderCache\old_GPUCache_000
  [1020:6356:1004/173348:ERROR:cache_creator.cc(134)] Unable to create cache
  [1020:6356:1004/173348:ERROR:shader_disk_cache.cc(589)] Shader Cache Creation failed: -2

  2.下载jar包
  可以使用maven,selenium-server这个jar包依赖selenium-java这个jar包,selenium-java又依赖大量的其他库.使用maven可以省去许多时间.
  <?xml version="1.0" encoding="UTF-8"?>
  <project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>MySel20Proj</groupId>
  <artifactId>MySel20Proj</artifactId>
  <version>1.0</version>
  <dependencies>
  <dependency>
  <groupId>org.seleniumhq.selenium</groupId>
  <artifactId>selenium-server</artifactId>
  <version>3.0.0-beta4</version>
  </dependency>
  </dependencies>
  </project>

  因为selenium-java依赖的库特别多,所以需要导入很多jar包.从官网上下载selenium-java,把解压后文件夹中的全部jar包导入即可开始编写java代码了.

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号