我在 Node ( Node 模块)内使用 PhantomJS 制作了一个抓取工具。
我正在尝试从页面(url)上的表格获取数据。 页面加载时仅显示表的 25 条记录。底部有一个“选择”,您可以将其更改为“全部”以查看所有记录。在返回 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>
最佳答案
我就是这么做的。
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';
}
关于javascript - 如何使用 PhantomJS 更改选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40245699/