gpt4 book ai didi

javascript - 来自 PhantomJS 的 HTTP 请求?

转载 作者:行者123 更新时间:2023-11-29 10:46:29 24 4
gpt4 key购买 nike

在我的 phantomJS 脚本中,我想发出一些 HTTP 请求,以便在使用 Phantom 抓取 HTML 内容之前在 Phantom 中设置一些变量。

从 PhantomJS 发出 HTTP 请求的正确方法是什么?我应该使用 PageObject 并像处理网页一样处理它吗?或者我可以使用一些 XHR 功能吗?我想先获取一些 Json 数据。

最佳答案

您有几个不同的选择要考虑。完成此操作的最简单方法是使用 WebPage 模块,打开包含您要加载的数据的页面的 URL,然后使用其他网页对象抓取其他页面。

var webpage = require('webpage');
var page = webpage.create()
page.open('<some url>', function(status) {
var option1 = page.evaluate(function() { ... });
var option2 = page.evaluate(function() { ... });

another = webpage.create();
another.open('<another url>', function(status) {
another.evaluate(function(opt1, opt2) {

// you have access to opt1 and opt2 here

}, option1, option2);
});
page.close();
});

然后您可以访问“另一个”页面中的 option1 和 option2 变量。

另一种选择是使用上面提到的 Joe 的命令行参数。您甚至可以编写接受变量命令行参数的 PhantomJS 代码,编写一个 Node.js/Python/Ruby 脚本来发出网络请求,解析它,并使用适当的命令行参数生成 PhantomJS 进程。

两者都可以,但如果您想将代码保存在一个文件中,我会采用第一种方式。

关于javascript - 来自 PhantomJS 的 HTTP 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18652559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com