网络爬虫技术

搞了大半夜,终于把selenium 驱动Firefox调通。

这是web测试工具,也可用作页面抓取工具,尤其是对网站结构比较复杂,有异步加载的网站尤为合适。

废话少说,上代码,

上代码之前,先说下环境:

selenium版本:


          org.seleniumhq.selenium
          selenium-java
          2.44.0
          jar
     

系统:win7  amd  64位旗舰版

之前用Firefox35.1死活搞不定,降到31.4一次性成功,搞了大半夜,原来是这个问题(刚刚他妹的还买了个16块包月的去国外查资料,也没查出个所以然   16块白白浪费)。

废话少说,上代码:

webDriver = new FirefoxDriver();
            webDriver.get("http://www.vip.com/");
            JavascriptExecutor js = (JavascriptExecutor) webDriver;
            //js.executeScript(arg0, arg1);
            String tem1 = "0";
            String tem2 = "1";
            while(!tem1.equals(tem2)){
                tem1 = js.executeScript("return window.document.body.scrollHeight; ").toString();
                js.executeScript(" window.scroll(0,window.document.body.scrollHeight); ");
                Thread.sleep(2000);
                tem2 = js.executeScript("return window.document.body.scrollHeight; ").toString();
                System.out.println(tem1+"---"+tem2);
                //System.out.println(o.getClass().getName());
                //js.executeAsyncScript)
            }
            System.out.println(webDriver.findElement(By.xpath("//*[@id='J_comingBrandList']/li[167]/div[1]/a")).getAttribute("class"));
            webDriver.close();

哈哈哈,失望了吧,代码就这么点点!!!

运行结果:

8599---19449
19449---54769
54769---54769
s1_pic_story_link
对结果的说明:

做了个稍微智能的滚动,白天组长用了个指定次数的滚动,稍微有点浪费!我在这里提高了点儿效率。

但是中间那个睡眠时间我觉得还是有提高的余地的,但是具体的还不回用,有空再钻研。

你可能感兴趣的:(selenium使用笔记,selenium)