我想抓取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”是相同的结果。
帮助我。
答案 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();
});