selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出;

该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况,

注意一定是自己拼接的url可以打开,如:http://ask.testfan.cn/articles?page=15,就可以翻到文章分类的第15页;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit; import org.apache.commons.io.FileUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.Wait;
import org.openqa.selenium.support.ui.WebDriverWait; public class YsfTest_20180727{
private static final int ExpectedCondition = 0;
private static final int Boolean = 0;
public static void main(String[] args) throws InterruptedException, IOException{
WebElement search = null;
System.setProperty("webdriver.chrome.driver","C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe");
WebDriver driver = new ChromeDriver();
int pageNum = 15;
int i =1;
while(i <= pageNum){
driver.get("http://ask.testfan.cn/articles?page="+ i);
//窗口最大化
driver.manage().window().maximize();
//将title里面的a标签取出
List<WebElement> ll = driver.findElements(By.cssSelector(".title > a"));
//循环a标签
for(WebElement w:ll){
//将a标签对应的文本取出
System.out.println(w.getText());
//将a标签下href的元素值url取出
System.out.println(w.getAttribute("href"));
}
System.out.println("第"+i+"页面抓取完毕");
i = i + 1;
}
System.out.println("全部抓取完毕");
driver.close();
}
}

该示例抓取的是Testfan软件测试社区的文章标题及链接(只抓了15页),抓取结果以第一页为例:

****************

【工具分享】Jmeter大文件分析利器,比官方快30倍的分析工具
http://ask.testfan.cn/article/1275
Selenium之操作360浏览器
http://ask.testfan.cn/article/1223
Testfan3月接口免费福利课程——秒杀说明
http://ask.testfan.cn/article/1201
Python覆盖率
http://ask.testfan.cn/article/1193
2018职业测试必读书单
http://ask.testfan.cn/article/1191
Selenium——去掉Chrome正受到自动软件测试的控制(Java)
http://ask.testfan.cn/article/1187
【原创】appium-desktop版本配置命令行运行服务(Mac)
http://ask.testfan.cn/article/1186
【原创】appium-desktop版本配置命令行运行服务(windows)
http://ask.testfan.cn/article/1185
Macaca环境配置及样例执行
http://ask.testfan.cn/article/1181
Selenium环境汇总
http://ask.testfan.cn/article/1173
Appium Hybrid混合应用测试——Native切换WebView
http://ask.testfan.cn/article/1169
【Android 】查看被测应用程序package和launchable-activity
http://ask.testfan.cn/article/1168
快捷定位Appium滑动坐标
http://ask.testfan.cn/article/1158
测试用例的设计方法
http://ask.testfan.cn/article/1157
测试工作常用命令
http://ask.testfan.cn/article/1153
jekins安装文档
http://ask.testfan.cn/article/1152
Qtp常见问题解答(百度整理)
http://ask.testfan.cn/article/1151
Testfan10月户外爬山活动报名中
http://ask.testfan.cn/article/1150
APP测试基本流程
http://ask.testfan.cn/article/1149
软件测试面试题:软件测试工具的应用
http://ask.testfan.cn/article/1148
第1页面抓取完毕

******************

本例用到,窗口最大化:driver.manage().window().maximize();

将title里面的a标签取出并放在list里:
 List<WebElement> ll = driver.findElements(By.cssSelector(".title > a"));

将a标签对应的文本取出:w.getText();

将a标签下href的元素值url取出:w.getAttribute("href");

最新文章

  1. window frida安装
  2. 使用poco 的NetSSL_OpenSSL 搭建https 服务端,使用C++客户端,java 客户端访问,python访问(python还没找到带证书访问的代码.)
  3. 了解HTML CSS选择器操作和特性
  4. BestCoder Round #89 02单调队列优化dp
  5. html5 placeholder ie 不兼容问题 解决方案
  6. js笔记——js异常处理
  7. MySQL索引与优化策略
  8. 【CF】323 Div2. D. Once Again...
  9. 如何启用Service,如何停用Service
  10. Windows Phone 9再见了!
  11. Android Studio利用异步任务AsyncTask发送post请求获取json数据
  12. 剑指offer面试题14-调整数组顺序使奇数位于偶数前面
  13. 原生拖拽js利用localstorage保存位置
  14. Day1----Python学习之路笔记(1)
  15. Linux 下面 Sqlserver 2017 的简单安装
  16. php生成mysql数据字典
  17. eclipse format xml
  18. PAT Counting Leaves[一般]
  19. 腾讯云nginx配置PHP
  20. 使用DataTables插件与后台对接表格

热门文章

  1. SpringBoot系列教程web篇之Post请求参数解析姿势汇总
  2. mybatis 一对一 一对多 多对多
  3. 算法浅谈之DP悬线法
  4. JVM的内存分配垃圾回收策略
  5. iOS核心动画(基础篇)
  6. Java基础系列7——集合系列(1)框架概述
  7. NGINX 配置本地HTTPS(双向认证)
  8. mpvue + vant + flyio 小程序项目总结
  9. C# vb .net实现灰度化特效滤镜
  10. Js保存图片到本地