【问题标题】:Call Http Post inside Phantom JS script在 Phantom JS 脚本中调用 Http Post
【发布时间】:2018-02-19 12:10:19
【问题描述】:

我正在使用phantom js通过捕获屏幕信息来实现自动化。

处理捕获的信息后,通过执行Http POST 将成功/失败状态表示给API。实现这一目标的最佳方法是什么?

我尝试通过节点 js 桥使用 phantom-js,但它不可靠,如下所述:https://stackoverflow.com/a/15746154/590589
我还可以使用哪些其他选项?

感谢您的帮助。

【问题讨论】:

  • I tried to use phantom-js via the node js bridge 请展示您的尝试。 “它不可靠”不是借口,您亲自遇到过它的不可靠吗?

标签: post phantomjs


【解决方案1】:

改编自post.js,一个官方的 PhantomJS 示例:

var page = require('webpage').create(),
    hq = 'http://example.com/scrape.php',
    data = 'success=1';

page.open(server, 'post', data, function (status) {
    if (status !== 'success') {
        console.log('Unable to report to HQ!');
    } else {
        console.log('Payload sent');
    }
    phantom.exit();
});

【讨论】:

  • 这有帮助,但如前所述,页面已经创建。需要这种方法以及来自https://stackoverflow.com/questions/16996732/using-multiple-page-open-in-single-script 的解决方案。
  • 1) 也许尝试创建第二个页面对象? 2)在您提到多个 URL 的开头脚本中没有任何地方。 3) Stackoverflow 不是代码编写服务,我不明白您所说的“必需”是什么意思。
  • 1) 如问题中所述,我正在使用 phantomjs(即 url 之一)捕获屏幕信息,并且必须将成功/失败状态发送到 api(第二个 url)。 2)创建第二个页面不起作用,我们需要使用前面评论中问题链接中的解决方案。 3)评论是通过提供更多信息来帮助其他面临类似问题的人。谢谢
  • Err... 为什么我们需要问题链接中的解决方案?您是否将 PhantomJS 与 node.js 一起使用?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-13
  • 1970-01-01
  • 2013-03-13
  • 2013-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多