前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >selenium2java爬虫示例

selenium2java爬虫示例

作者头像
FunTester
发布2020-04-03 15:13:37
3190
发布2020-04-03 15:13:37
举报
文章被收录于专栏:FunTesterFunTester

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

代码语言:javascript
复制
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<String[]> sheet = new ArrayList<String[]>();//新建list,用于存放每个测试用例的测试结果
        Map<Integer, List<String[]>> dateJoke = new HashMap<Integer, List<String[]>>();

        driver.get("http://neihanshequ.com/");
        String home = driver.getWindowHandle();
        library.findElementByXpathAndClick(".//*[@id='detail-list']/li[1]/div/div[2]/a/div/h1/p");
        Set<String> 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();//退出浏览器
    }
}
技术类文章精选 
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FunTester 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档