12

登录后,我无法通过网站保持会话冲浪。

我确实可以成功登录该网站(我指定无论页面是什么,登录后您将被重定向到主页)但是我必须移动到另一个页面。首先我尝试使用 page.open() 然后使用 page.evaluate 更改 location.href 窗口属性,但不幸的是,在这两种情况下,结果都是我不再登录。我跟踪了登录状态,只是在每个页面加载事件上使用递增的 png 名称(1.png、2.png 等)呈现页面。我也尝试了 --cookies-file=cookies.txt 参数,但没有太大帮助。

我的问题是:使用 phantomjs 在网站页面中“移动”的最佳方式是什么?在这些情况下是否有特定的方法来处理会话(也许在每个 .open() 上手动发送 cookie,只是说)?

感谢帮助。

4

2 回答 2

8

会话需要 cookie。您必须在 phantomjs 中添加一个额外的参数。

--cookies-file=/path/to/cookies.txt

在这里查看更多信息。

编辑:您是否cookies.txt包含某些内容?

于 2013-02-12T08:36:16.780 回答
8

我对 cookie 文件方法有疑问。该文件将被写入,我可以在文件中看到“cookie 信息”,但未来的请求将被解释为未经身份验证。作为最后的努力,我只是将 page.cookies 数组序列化为 JSON 并将其保存到文件中。我的下一个脚本将打开该文件,将其反序列化为一个变量并将 page.cookies 设置为该变量。果然这行得通!只是以为我会传递它。

于 2015-05-18T18:45:16.307 回答