javascript - 如何使用 PhantomJS 更改选择值

标签 javascript node.js web-scraping phantomjs web-crawler

我在 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/

相关文章:

node.js - 将 Express.js 4 的 res.status(401) 链接到重定向

javascript - 迭代 pug 中的 javascript 对象

python - 在python网络抓取脚本中为错误创建异常

html - VBA循环遍历多个httprequest并将数据存储在excel 2010中

javascript - 响应式 Quicktime 播放器

javascript - JS 在 Firefox 中不起作用

javascript - Mongoose Setters 仅在创建新文档时才会被调用?

python - BeautifulSoup 有时会给出异常(exception)

javascript - 根据输入字段上的用户信息创建动态链接 URL

javascript - Typescript(或 Javascript)Fetch API 异步/等待错误处理