登录后,我无法通过网站进行会话冲浪。
我确实可以成功登录网站(我指定无论页面是什么,登录后你都会被重定向到主页),但之后我必须转到另一个页面。首先,我尝试使用page.open(),然后使用page.evaluate更改location.href窗口属性,但不幸的是,在这两种情况下,结果都是我不再登录。我跟踪了登录状态,只是在每个页面加载事件中使用增量png名称(1.png、2.png等)呈现页面。我还尝试了--cookies file=cookies.txt param,但没有多大帮助。
我的问题是:使用phantomjs"移动"网站页面的最佳方式是什么?在这种情况下,有没有一种特定的方法来处理会话(可能在每个.open()上手动发送cookie,只是说)?
谢谢你的帮助。
会话需要cookie。您必须在phantomjs中添加一个额外的参数。
--cookies-file=/path/to/cookies.txt
查看此处了解更多信息。
编辑:你的cookies.txt
包含什么吗?
我对cookie文件方法有问题。文件将被写入,我可以在文件中看到"cookie信息",但未来的请求将被解释为未经验证。作为最后的努力,我只是简单地使用page.cookies数组,将其序列化为JSON,并将其保存到一个文件中。我的下一个脚本将打开该文件,将其反序列化为一个变量,并将page.cookies设置为该变量。果然奏效了!我只是想把它传过去。