我在将SlimerJS纳入我的网络刮刀的道路上走得很远,而且我遇到了一个问题。我正在处理的一个网站上的SSL证书无效。查看Slimer's SSL documentation后,他们似乎不支持PhantomJS的ignore-ssl-errors
选项。有没有解决的办法?浏览器中显示的SSL证书错误页面没有任何我可以使Slimer单击的continue
按钮。作为一个FYI,我使用CasperJS作为SlimerJS的包装。
答案 0 :(得分:8)
我的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引擎一起使用。)