javascript - 使用 phantomjs 填充文本字段,不起作用

标签 javascript phantomjs

尝试使用 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/

相关文章:

javascript - Redux——繁重的工作应该在哪里发生——reducer、action、容器还是表示组件?

javascript - 如何在特定条件下取消popState

javascript - 连接到 http ://localhost:3000/api/contact 时出错

javascript - JS arguments.forEach 不是函数

java - 使用 Eclipse GAE 运行 PhantomJS

javascript - 如何在 Phantomjs 中使用 jQuery 选择 html 元素?

phantomjs - 在PhantomJs中下载作为POST请求响应附件的文件

javascript - 如何像成员函数一样调用静态函数

javascript - 从本地 js 脚本对本地 Phantom.js 服务器的 Ajax 调用

java - 如何使用 Java 使用 Selenium 运行 ghostdriver