文章目录
参考文章:https://blog.csdn.net/qq_22003641/article/details/79137327?spm=1001.2014.3001.5506
前言
使用selenium进行爬虫,需要下载相关浏览器的驱动程序,和添加selenium相关的jar包。
浏览器驱动程序地址:
- Firefox浏览器驱动:Firefox
- Chrome浏览器驱动:chrome淘宝镜像
- Edge浏览器驱动:edge
selenium相关依赖:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.4.0</version>
</dependency>
jar包下载地址:https://mvnrepository.com/
一、Selenium是什么?
Selenium是一个用于web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。Selenium完全开源,对商业用户也没有任何限制,支持分布式,拥有成熟的社区与学习文档。使用Selenium实现爬虫最大的好处在于能够模拟一个用户正常访问页面,网站后台不容易检测出来,而且使用简单,可以使用java或python等多种编程语言编写用例脚本。
二、Selenium常见的API
1.Selenium定位的方法
Selenium提供了8种定位方式,这些方式在Java中所对应的方法如下:
- id-------------------------------------------------------------findElement(By.id())
- name--------------------------------------------------------findElement(By.name())
- class name------------------------------------------------findElement(By.className())
- tag name--------------------------------------------------findElement(By.tagName())
- link text----------------------------------------------------findElement(By.linkText())
- partial link text-------------------------------------------findElement(By.partialLinkText())
- xpath-------------------------------------------------------findElement(By.xpath())
- css selector----------------------------------------------findElement(By.cssSelector())
具体使用例子:
<html>
<head></head>
<body link="#0000cc">
<a id="result_logo" href="/" onmousedown="return c({
'fm':'tab','tab':'logo'})">
<form id="form" class="fm" name="f" action="/s">
<span class="soutu-btn"></span>
<input id="kw" class="s_ipt" name="wd" value="" maxlength="255" autocomplete="off">
</form>
<a class="mnav" href="http://news.baidu.com" name=