加载中

selenium的官方自带了加载完页面,再继续执行。不用单独设置。

@Nicll
webmagic selenium+JAVA 如何自动判断,页面加载完再执行之后的代码
Nicll 2018/06/13 09:56 回答了问题: wemagic java爬虫获取翻页的总页码问题
在process中重新,解析页面时使用的办法。
@Nicll
如图所示,怎么只获取最后一个?
Nicll 2018/06/13 09:56 回答了问题: wemagic java爬虫获取翻页的总页码问题
对于在selenium中的处理办法。
@Nicll
如图所示,怎么只获取最后一个?
Nicll 2018/06/13 09:55 回答了问题: wemagic java爬虫获取翻页的总页码问题

            // 时间,多个span,只获取最后一个span的内容
            List<String> t = page.getHtml()
                    .xpath("//div[@class='article-sub']/span/text()").all();
            List<String> time = Arrays.asList(t.get(t.size() - 1));

@Nicll
如图所示,怎么只获取最后一个?

首次通过手机验证码登录后,获取cookie,并将cookie保存到map中。

在主程序中定义map:

public static Map<String, String> cookies;

public static boolean first;

JRTT.first首次为true,之后为false;

mian方法中:

cookies = new HashMap<String, String>();

在selenium中:

(手动登录后获取当前cookie)

// 获得cookie
        Set<Cookie> cookie = webDriver.manage().getCookies();

        if (JRTT.first) {
            // 保存登录的Cookies
            for (Cookie ck : cookie) {
                JRTT.cookies.put(ck.getName(), ck.getValue());
            }
        }

将原有缓存清空,添加保存的缓存

// 删除所有cookie
        webDriver.manage().deleteAllCookies();


        Cookie c;
        // 将第一次登录的cookie保存
        for (Map.Entry<String, String> entry : JRTT.cookies.entrySet()) {
            String key = entry.getKey();
            String value = entry.getValue();
            c = new Cookie(key, value);
            webDriver.manage().addCookie(c);
            // System.out.println("key=" + key + " value=" + value);
        }

        // 刷新页面
        webDriver.navigate().refresh();

cookie填进页面中。多次循环,不用手动输入。只需在程序首次执行时输入。

@Nicll
在使用selenium爬取今日头条时,想登陆之后爬取个人收藏内容。第一次是通过手机验证码登进去,需要多次登陆,第二...
失效时间过短,不可取。
@Nicll
在使用selenium爬取今日头条时,想登陆之后爬取个人收藏内容。第一次是通过手机验证码登进去,需要多次登陆,第二...

第一次登录之后,点击到个人页面,F12之后,F5,查看Application的COOKIES。

将登录需要的COOKIES存储进去,刷新界面。就可实现自动登录。

Cookie c1 = new Cookie("sso_login_status", "1");
//添加cookie
        webDriver.manage().addCookie(c1);

@Nicll
在使用selenium爬取今日头条时,想登陆之后爬取个人收藏内容。第一次是通过手机验证码登进去,需要多次登陆,第二...
句柄转换之后即可获取到。
@Nicll
如图所示,我去匹配这个Li的时候,点击没反应。
Nicll 2018/02/06 13:29 回答了问题: wemagic java爬虫获取翻页的总页码问题
我是在selenium时用谷歌DRIVER获取的,问题补充有说明。现在已经获取到了
@Nicll
如图所示,怎么只获取最后一个?
Nicll 2018/02/06 13:28 回答了问题: wemagic java爬虫获取翻页的总页码问题

            WebElement web = webDriver.findElement(By.xpath("(//ul[@class='paging']/li)[last()-1]/a"));
            String ys =web.getText();

@Nicll
如图所示,怎么只获取最后一个?
回复 @找个安静的地方 : 嗯,我就是想同步存储到文件和数据库里面的。谢谢~
@Nicll
直接输出内容,可以全部输出,放入page.putField里只能获取到最后一个。page里放了所有需要的内容。在p...
那我想把一个网页里的内容分成多个文件进行存储,要怎么处理了
@Nicll
直接输出内容,可以全部输出,放入page.putField里只能获取到最后一个。page里放了所有需要的内容。在p...

通过句柄转换页面,可以获取内容。

@Nicll
将第一页网页加进去,点击可以打开,怎么获取新网页内容,一直获取不到,都是初始网站的

没有更多内容

加载失败,请刷新页面

返回顶部
顶部