selenium + ChromeDriver安装及使用方法

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。而对于爬虫来说,使用Selenium操控浏览器来爬取网上的数据那么肯定是爬虫中的杀手武器。这里,我将介绍selenium + 谷歌浏览器的一般使用。首先会介绍如何安装部署环境,然后贴出一些本人所使用的一些方法,最后给出github地址,供大家下载。

1. selenium 环境配置

selenium 官网地址:http://www.seleniumhq.org/download/

导入selenium 的 jar 包有多种方式,这里介绍两个:

第一种是直接下载,然后将下载中的 jar 包复制到eclipse或者idea中,然后添加即可

第二种是使用maven

2. 下载github代码并且进行测试

谷歌浏览使用的版本是:60.0.3112.78,这里注意,谷歌浏览器和谷歌驱动需要匹配。

具体可以见:https://www.jb51.net/article/151629.htm

idea使用的版本是:2016.12

Java使用的版本是:1.8

首先在github上下载代码,地址为:https://github.com/lunaMoon1010/SeleniumDemo

导入项目

1、解压后,使用idea导入该项目

2、选择刚刚解压的项目

3、让maven导入jar包,maven简单来说是一个jar包管理插件,通过配置的方式在maven仓库下载你所需要的jar包

运行代码进行测试

1、测试HelloWorld,方法里面具体的内容请到方法里面查看,注释都是有写的

/**
  * 用来测试第一个代码,访问百度
  */
 @Test
 public void testHelloWorld() throws Exception {
  //开启个浏览器并且输入链接
  WebDriver driver = PageUtils.getChromeDriver("https://www.baidu.com/");
  //得到浏览器的标题
  System.out.println(driver.getTitle());
  Thread.sleep(5000);
  //关闭浏览器 下面是关闭所有标签页,还有一个代码是 driver.close();, 关闭当前标签页
  driver.quit();
 }

如果你运行出现下图情况,说明你环境上没有问题了

2、测试自动输入

/**
  * 测试向input标签输入值
  */
 @Test
 public void testInputStrByJS(){
  //开启个浏览器并且输入链接
  WebDriver driver = PageUtils.getChromeDriver("https://www.baidu.com/");
  //向input输入值
  PageUtils.inputStrByJS(driver, "kw", "月之暗面 博客园");
 }

如果出现下面情况说明你测试成功了

3、测试点击

/**
  * 测试点击
  */
 @Test
 public void testScrollToElementAndClick() throws Exception {
  //1、开启个浏览器并且输入链接
  WebDriver driver = PageUtils.getChromeDriver("https://www.baidu.com/");

  //2、向百度输入框输入需要查询的值
  PageUtils.inputStrByJS(driver, "kw", "月之暗面 博客园");

  //3、得到百度一下的标签
  WebElement submitElement = driver.findElement(By.cssSelector("input#su"));

  //4、点击百度一下
  PageUtils.scrollToElementAndClick(submitElement, driver);

  //休息3秒,加载数据
  Thread.sleep(3000);

  //5、首先找到 id 为 content_left 的 div 下面的所有 div
  List<WebElement> divElements = driver.findElements(By.cssSelector("div#content_left div"));
  //6、找到搜索的第一个链接
  WebElement aElement = divElements.get(0).findElement(By.cssSelector("div.f13 a[href]"));

  //7、点击该链接
  PageUtils.scrollToElementAndClick(aElement, driver);
 }

如果出现下面情况,说明测试成功了

4、测试标签页切换

/**
  * 测试切换到另一个标签页
  */
 @Test
 public void testGetAnotherPage() throws Exception {
  //1、开启个浏览器并且输入链接
  WebDriver driver = PageUtils.getChromeDriver("https://www.baidu.com/");

  //2、向百度输入框输入需要查询的值
  PageUtils.inputStrByJS(driver, "kw", "月之暗面 博客园");

  //3、得到百度一下的标签
  WebElement submitElement = driver.findElement(By.cssSelector("input#su"));

  //4、点击百度一下
  PageUtils.scrollToElementAndClick(submitElement, driver);

  //休息3秒,加载数据
  Thread.sleep(3000);

  //5、首先找到 id 为 content_left 的 div 下面的所有 div
  List<WebElement> divElements = driver.findElements(By.cssSelector("div#content_left div"));
  //6、找到搜索的第一个链接
  WebElement aElement = divElements.get(0).findElement(By.cssSelector("div.f13 a[href]"));

  //7、点击该链接
  PageUtils.scrollToElementAndClick(aElement, driver);

  //8、当前页面时百度的页面
  //将浏览器对象强制转为可以执行js的对象
  System.out.println("现在的页面是:"+driver.getTitle());
  //9、切换到博客园页面
  PageUtils.getAnotherPage(driver);
  //将浏览器对象强制转为可以执行js的对象
  System.out.println("现在的页面是:"+driver.getTitle());
 }

如果出现下面的情况说明你测试成功了

3.总结

Selenium是一个用于Web应用程序测试的工具。但是也可以用来做爬虫,如果需要得到对应的数据,可以通过 element.getText()的方法得到,element的类型是WebElement。期间可能会有很多错误,但是希望大家能够通过度娘,谷歌等方式一一解决。本人因为能力有限,有不足或错误之处,希望能够被指出。

最后再次填上这个的代码地址:https://github.com/lunaMoon1010/SeleniumDemo

如果要详细怎么使用请访问:http://www.webdriver.org/nav1/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • selenium 安装与chromedriver安装的方法步骤

    安装 selenium可以直接可以用pip安装. pip install selenium chromedriver的安装一定要与Chrome的版本一致,不然就不起作用(不要问我是怎么知道的). 有两个下载地址: 1.http://chromedriver.storage.googleapis.com/index.html 2.https://npm.taobao.org/mirrors/chromedriver/ 或者本地下载https://www.jb51.net/softs/538241.

  • selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)

    使用WebDriver在Chrome浏览器上进行测试时,需要从http://chromedriver.storage.googleapis.com/index.html网址中下载与本机chrome浏览器对应的驱动程序,驱动程序名为chromedriver: chromedriver的版本需要和本机的chrome浏览器对应,才能正常使用: 第一步:下载对应版本的chromedriver驱动文件,具体版本请对照文章底部的对应关系表: 如本机的chrome浏览器版本为:版本 61.0.3163.100

  • selenium + ChromeDriver安装及使用方法

    Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.而对于爬虫来说,使用Selenium操控浏览器来爬取网上的数据那么肯定是爬虫中的杀手武器.这里,我将介绍selenium + 谷歌浏览器的一般使用.首先会介绍如何安装部署环境,然后贴出一些本人所使用的一些方法,最后给出github地址,供大家下载. 1. selenium 环境配置 selenium 官网地址:http://www.seleniumhq.org/download/

  • 详解selenium + chromedriver 被反爬的解决方法

    问题背景:这个问题是在爬取某夕夕商城遇到的问题,原本的方案是用selenium + chromedriver + mitmproxy开心的刷,但是几天之后,发现刷不出来了,会直接跳转到登陆界面(很明显,是遭遇反爬了) 讲实话,这还是第一次用硒被反爬的,于是进行大规模的测试对比. 同台机器,用铬浏览器正常访问是不用跳转到登陆界面的,所以不是IP的问题.再用提琴手抓包对比了一下两个请求头,请求头都是一样的,所以忽略标头的反爬. 最后通过分析,可能是硒被检测出来了.于是就去查资料.大概的查到是和web

  • Python中使用Selenium环境安装的方法步骤

    环境准备 已正确安装python环境,已安装chrome浏览器或者firefox浏览器 使用 python --version 命令如果输出python版本则python 安装成功 安装selenium 使用pip命令安装selenium pip install selenium 下载chrome驱动 或者firefox驱动 selenium的chrome驱动(国内阿里像) selenium的firefox驱动(github地址) 注意:下载对应版本的驱, 点击浏览器三个点 - 帮助 - 关于G

  • python+selenium自动化框架搭建的方法步骤

    环境及使用软件信息 python 3 selenium 3.13.0 xlrd 1.1.0 chromedriver HTMLTestRunner 说明: selenium/xlrd只需要再python环境下使用pip install 名称即可进行对应的安装. 安装完成后可使用pip list查看自己的安装列表信息. chromedriver:版本需和自己的chrome浏览器对应,百度下载. 作用:对chrome浏览器进行驱动. HTMLTestRunner:HTMLTestRunner是Pyt

  • selenium+chromedriver在服务器运行的详细教程

    1.前言 想使用selenium从网站上抓数据,但有时候使用phantomjs会出错.chrome现在也有无界面运行模式了,以后就可以不用phantomjs了. 但在服务器安装chrome时出现了一些错误,这里总结一下整个安装过程 2.ubuntu上安装chrome # Install Google Chrome # https://askubuntu.com/questions/79280/how-to-install-chrome-browser-properly-via-command-l

  • python+selenium+chromedriver实现爬虫示例代码

    下载好所需程序 1.Selenium简介 Selenium是一个用于Web应用程序测试的工具,直接运行在浏览器中,就像真正的用户在操作一样. 2.Selenium安装 方法一:在Windows命令行(cmd)输入pip install selenium即可自动安装,安装完成后,输入pip show selenium可查看当前的版本 方法二:直接下载selenium包: selenium下载网址 Pychome安装selenium如果出现无法安装,参考以下博客 解决Pycharm无法使用已经安装S

  • python使用selenium爬虫知乎的方法示例

    说起爬虫一般想到的情况是,使用 python 中都通过 requests 库获取网页内容,然后通过 beautifulSoup 进行筛选文档中的标签和内容.但是这样有个问题就是,容易被反扒机制所拦住. 反扒机制有很多种,例如知乎:刚开始只加载几个问题,当你往下滚动时才会继续往下面加载,而且在往下滚动一段距离时就会出来一个登陆的弹框. 这样的机制对于通过获取服务器返回内容的爬虫方式进行了限制,我们只能获得前几个回答,而没办法或许后面的回答. 所以需要使用 selenium 模拟真实浏览器进行操作.

  • 如何在scrapy中集成selenium爬取网页的方法

    1.背景 我们在爬取网页时一般会使用到三个爬虫库:requests,scrapy,selenium.requests一般用于小型爬虫,scrapy用于构建大的爬虫项目,而selenium主要用来应付负责的页面(复杂js渲染的页面,请求非常难构造,或者构造方式经常变化). 在我们面对大型爬虫项目时,肯定会优选scrapy框架来开发,但是在解析复杂JS渲染的页面时,又很麻烦. 尽管使用selenium浏览器渲染来抓取这样的页面很方便,这种方式下,我们不需要关心页面后台发生了怎样的请求,也不需要分析整

  • 使用selenium+chromedriver+xpath爬取动态加载信息

    目录 安装selenium模块 说 明 selenium模块的使用 selenium 模块的常用方法 总 结 使用selenium实现动态渲染页面的爬取,selenium是浏览器自动化测试框架,是一个用于Web应用程序测试的工具,可以直接运行在浏览器当中,并可以驱动浏览器执行指定的动作,如点击.下拉.填充数据.删除cookie等操作,还可以获取浏览器当前页面的源代码,就像用户在浏览器中操作一样.该工具所支持的浏览器有IE浏览器.Mozilla Firefox以及Google Chrome等. 安

随机推荐