尝试使用 phantomjs 在具有名称为“category”的文本字段和值为“search”的按钮的表单上执行查询,以下脚本将导致按钮被按下,从而触发 POST 消息被发送。但是,在 POST 消息中,我没有看到类别的值。
var page = require('webpage').create();
page.open('http://www.example.com', function() {
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
page.evaluate(function() {
$('input[name="category"]').value = "tmp1";
console.log($('input[name="category"]').value);
$('input[value="search"]').click();
});
//phantom.exit()
});
});
如果我在 Chrome 浏览器开发人员控制台上手动执行以下两行,则发送的 HTTP POST 消息确实包含类别字段的正确值。知道出了什么问题吗? 谢谢。
$('input[name="category"]').value = "tmp1";
$('input[value="search"]').click();
最佳答案
使用 .val()
通过 jQuery 更新表单字段的值。
$('input[name="category"]').val("tmp1");
关于javascript - 使用 phantomjs 填充文本字段,不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23313565/