我在试图做一些本来看似平庸的事情时心情不好,但似乎几乎没有希望。对于论文项目,我需要收集航班价格。这段代码应该填写" zurich"离开箱子。但它并没有。这段代码适用于任何文本输入框,但在这个简单的页面上它没有希望。我真的很感激有人的智慧:
// variables
var casper = require("casper").create();
var x = require('casper').selectXPath;
var url = 'http://www.statravel.ch';
var depart_box_x = '//*[@id="qbtb_2_0_id_0"]/div/div[1]/div[2]/div[2]/form/fieldset[2]/div[1]/p/input';
// init casper
casper.userAgent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1');
casper.start(url);
// run through page
casper.then(function() {
this.click(x(depart_box_x));
this.sendKeys(x(depart_box_x), 'ZURICH', { reset: true} );
console.log('sending keys...');
});
casper.then(function() {
console.log('screenshot...');
casper.capture('cap.png');
});
// run command for casperjs
casper.run();
如果查看屏幕截图,该字段为空白。但是没有错误弹出。如果你做同样的事情而不是离开框,你选择页面顶部的电子邮箱,它填写它。感觉他们故意使这成为不可能。
感谢您的帮助!