1,Selenium(浏览器自动化测试框架)
Selenium [1] 是一个用于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();
dcaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,"D:\\java\\phantomjs\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe");
PhantomJSDriver driver = new PhantomJSDriver(dcaps);
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
System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--window-size=1366,700");
RemoteWebDriver driver = new ChromeDriver(chromeOptions);
driver.get("https://www.jd.com/");
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();
|