Java爬虫:Selenium(浏览器自动化测试框架)
1、Selenium(浏览器自动化测试框架)
Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),[Mozilla Firefox](https://baike.baidu.com/item/Mozilla Firefox/3504923),Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成[ .Net](https://baike.baidu.com/item/ .Net/156737)、Java、Perl等不同语言的测试脚本。
2、phantomjs
PhantomJS官方地址:http://phantomjs.org/。
3、phantomjs小案例
<!--SpringMVC-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--WebMagic核心包-->
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-core</artifactId>
<version>0.7.4</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--WebMagic扩展-->
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-extension</artifactId>
<version>0.7.4</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.13.0</version>
</dependency>
<dependency>
<groupId>com.codeborne</groupId>
<artifactId>phantomjsdriver</artifactId>
<version>1.4.4</version>
</dependency>
// 设置必要参数
DesiredCapabilities dcaps = new DesiredCapabilities();
// 指定phantomJS浏览器的位置
dcaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,"D:\\java\\phantomjs\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe");
PhantomJSDriver driver = new PhantomJSDriver(dcaps);
// 设置driver的访问路径
driver.get("http://www.a-hospital.com/w/%E5%85%A8%E5%9B%BD%E5%8C%BB%E9%99%A2%E5%88%97%E8%A1%A8");
List<WebElement> list = driver.findElementsByCssSelector("div");
System.out.println("总共:"+list.size());
driver.close();
4、chrome方式
1、查看chrome版本,打开浏览器输入chrome://version/
2、下载chromedriver对应版本,地址https://npm.taobao.org/mirrors/chromedriver/或http://chromedriver.storage.googleapis.com/index.html
// 创建chrome的配置信息
System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
// 设置为 headless 模式 (必须)
//chromeOptions.addArguments("--headless");
// 设置浏览器窗口打开大小 (非必须)
chromeOptions.addArguments("--window-size=1366,700");
// 基于配置信息创建RemoteWebriver对象
RemoteWebDriver driver = new ChromeDriver(chromeOptions);
// 使用Driver对象访问一个网站
driver.get("https://www.jd.com/");
// 使用driver控制网站的动作
driver.findElementByCssSelector("#key").sendKeys("手机");
Thread.sleep(2000);
driver.findElementByCssSelector("#search > div > div.form > button > i").click();
Thread.sleep(2000);
driver.executeScript("window.scrollTo(0,document.body.scrollHeight - 300)");
Thread.sleep(2000);
List<WebElement> list = driver.findElementsByCssSelector("li.gl-item");
System.out.println(list.size());
// 关闭浏览器
driver.close();
————————————————
版权声明:本文为CSDN博主「子非我鱼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45752401/article/details/119182962
- 点赞
- 收藏
- 关注作者
评论(0)