我在将SlimerJS集成到我的Web抓取工具中的道路还很遥远,遇到了一个问题。我正在处理的一个站点的SSL证书无效。在查看Slimer's SSL documentation时,似乎它们不支持PhantomJS的ignore-ssl-errors选项。有没有解决的办法?浏览器中显示的SSL证书错误页面没有我可以使Slimer单击的任何continue按钮。仅供参考,我将CasperJS用作SlimerJS的包装器。

最佳答案

我的blog entry(粘贴在下面)说明了操作方法(并且也显示了Casper指令):



SlimerJS(自0.8.3版起)缺少PhantomJS的命令行选项来说“放松有关不良证书的信息”。不幸的是,开发人员通常在开发过程中使用的自签名SSL证书被视为错误证书。

这是处理此问题所需的步骤:


slimerjs --createprofile AllowSSL
记下它已创建的目录。
(您可以将新的个人资料称为“ AllowSSL”。)
转到普通的桌面Firefox,浏览到相关网址,查看投诉,将其添加为安全例外。
如果您已经在测试您的网站,则很可能已经完成了此步骤,可以跳过此步骤。
转到您的Firefox个人资料,然后查找名为“ cert_override.txt”的文件。将其复制到您在步骤1中创建的目录。
查看您刚刚制作的“ cert_override.txt”副本。
如果仅包含您在步骤2中添加的条目,则操作完成。
否则,请删除不需要的条目。
(文件格式很简单:每行一个证书。)
现在,当您需要运行slimerjs时,必须使用“ -P AllowSSL”命令行参数来运行它。
例如。 slimerjs -P AllowSSL httpstest.js

如果您将SlimerJS与CasperJS结合使用(需要CasperJS 1.1或更高版本),请执行相同的操作,例如

casperjs test --engine=slimerjs -P AllowSSL tests_involving_https.js





故障排除思路

使用export SLIMERJSLAUNCHER=/usr/bin/firefox使SlimerJS使用Firefox的本地副本,而不是其内部的Gecko引擎。这绝对可以正常工作,因为在上面的步骤2中,您向该版本的Firefox添加了安全例外。 (以上其余说明仅用于使其与SlimerJS随附的内部Gecko引擎一起使用。)

08-08 01:19