Phantomjs – 如何填写表单,提交并获得结果?

前端之家收集整理的这篇文章主要介绍了Phantomjs – 如何填写表单,提交并获得结果?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我似乎无法做一个简单的表单提交.

以下是我向Google搜索表单提交“测试”的代码,并打印出结果.

var url = 'http://www.google.com/',page = new WebPage();

page.open(url,function(status) {
    if (status !== 'success')
    {
      console.log('Unable to access network');
      phantom.exit();
      return;
    }
    else
    {
        page.includeJs("//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js",function() {
            page.evaluate(function() {
                $('#gbqfq').val("Test");

                $("#gbqfba").click();

            });

            page.render('google.png');
            phantom.exit();
        });
    }
});

任何人都可以告诉我如何做到这一点我在这里和其他地方看过,但似乎没有任何工作.

解决方法

在“点击”之后立即呈现页面是不够的.你必须给网络引擎时间来做任何调用,并执行结果的JavaScript.

电话评估后请考虑以下内容

window.setTimeout(
  function () {
    page.render( 'google.png' );
    phantom.exit(0);
  },5000 // wait 5,000ms (5s)
);

顺便说一下,点击可能会或可能不工作,取决于它是什么样的元素.如果这不工作,我建议您在互联网上搜索如何点击DIV或任何类型的元素(有一种涉及创建鼠标事件的技术).

原文链接:https://www.f2er.com/js/154830.html

猜你在找的JavaScript相关文章