无法点击CasperJS

时间:2015-06-01 01:40:20

标签: javascript web-crawler phantomjs casperjs

我想抓取HTML数据。

而且,我在CasperJS中尝试了无头浏览器。

但是,无法点击。

- 以下是CapserJS中的代码。

var casper = require('casper').create();
var mouse = require('mouse').create(casper);

casper.start('http://sts.kma.go.kr/jsp/home/contents/climateData/smart/smartStatisticsSearch.do', function() {
    this.echo('START');
    });

casper.then(function() {
    this.capture("1.png");

    this.mouse.click('li[class="item1"]');

    casper.wait(5000, function() {      
      this.capture("2.png");
      });
    });

casper.run(function() {
    this.capture('3.png');
    this.echo('EXIT');
    casper.exit();
    });

在代码中,“1.png”是捕获文件前点击事件。 “2.png”是点击事件后的捕获文件。 “3.png”是点击事件后和“运行”方法后的捕获文件。

但是,“1.png”,“2. png”,“3. png”是相同的结果。

帮助我。

2 个答案:

答案 0 :(得分:0)

尝试将您的选择器更改为this.mouse.click('li[class="item1"] > a'),因为li[class="item1"]不可点击,但其中的a元素是。

答案 1 :(得分:0)

我会尝试使用它,看看它是否有效(它适用于我):

var casper = require('casper').create();
var url = 'http://sts.kma.go.kr/jsp/home/contents/climateData/smart/smartStatisticsSearch.do';

casper.start(url).then(function() 
    {
        this.echo('START');
        this.capture('1.png');
    }).thenClick('li[class="item1"] > a').then(function() 
    {
        this.capture('2.png');
});

casper.run(function() {
    this.capture('3.png');
    this.echo('EXIT').exit();
});