selenium2 java 爬虫_selenium2java爬虫示例

本人在使用图灵机器人的过程中,需要丰富一下机器人知识库里面的笑话、段子等内容,就得去网上爬一些内容下来,经过尝试终于成功了,效果一般般,主要原因是添加的知识条目审核不通过,还有就是爬虫次数限制,暂时放弃了,以后打算用接口做爬虫,selenium爬起来很容易出错,浏览器加载太慢了,一旦次数太多很耗时。分享一下代码,供大家参考。

package wepractice;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Set;

import selenium.Library;

import selenium.Excel;

public class NeiHanjokes extends Library{

public static void main(String[] args) {

Library library = new Library();

List sheet = new ArrayList();//新建list,用于存放每个测试用例的测试结果

Map> dateJoke = new HashMap>();

driver.get("http://neihanshequ.com/");

String home = driver.getWindowHandle();

library.findElementByXpathAndClick(".//*[@id='detail-list']/li[1]/div/div[2]/a/div/h1/p");

Set handles = driver.getWindowHandles();

for(String handle : handles){

if (!handle.equals(home)) {

driver.switchTo().window(handle);

}

}

for (int i = 0; i < 15; i++) {

library.output(i);

String joke = library.getTextByXpath("html/body/div[3]/div[1]/div/ul/li[1]/div/div[2]/a/div/h1/p");

String[] jokes = new String[1];

jokes[0] = joke;

sheet.add(jokes);

library.findElementByIdAndClick("prevGroupLink");

}

dateJoke.put(1, sheet);

Excel excel = new Excel();

excel.writeXlsx(dateJoke);

driver.close();//关闭窗口

for(String handle : handles){//切换窗口

if (handle.equals(home)) {

driver.switchTo().window(handle);

}

}

driver.quit();//退出浏览器

}

}

技术类文章精选

非技术文章精选

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值