我在节点(节点模块)内使用PhantomJS制作了一个刮刀。
我正在尝试从页面上的表中获取数据(url)。 页面加载时,它只显示表格的25条记录。有一个'选择'在底部,你可以改为' All'查看所有记录。如何将选择的值更改为' All'在返回HTML之前?
var phantom = require('phantom');
phantom.create().then(function(ph){
ph.createPage().then(function(page){
page.open(url).then(function(status){
console.log(status);
page.property('content').then(function(content){
console.log(content);
page.close();
ph.exit();
});
});
});
});
<select name="qs-rankings_length" aria-controls="qs-rankings" class="jcf-hidden">
<option value="100">100</option>
<option value="200">200</option>
<option value="-1">All</option>
</select>
答案 0 :(得分:1)
我就是这样做的。
page.evaluate(function() {
$('#select_element_selector').val('All').change();
});
我假设您在页面上有jQuery。
或者,没有jQuery:
page.evaluate(function() {
document.getElementById('select').selectedIndex = 0;
// or use document.getElementById('select').value = 'All';
}