我在Node JS中使用Selenium Webdriver进行Google搜索。当我在本地计算机上将浏览器设置为Firefox时,Google结果页面会按预期呈现;它与我作为人类进行Google搜索时所看到的相同。
现在,我试图在我的Heroku服务器上做同样的事情。我似乎无法在服务器上安装Firefox,因此我使用的是PhantomJS。它成功地进行了谷歌搜索,但页面中缺少一些数据(我认为它稍后会被Javascript添加)。
如何让PhantomJS结果页面看起来与Firefox相同?我可以让PhantomJS看起来像是Firefox吗?
public Card(Suits s, Ranks r)
{
suit = s;
rank = r;
}
答案 0 :(得分:0)
一个快速的胜利是平衡你的窗口尺寸,因为PhantomJS似乎更喜欢高条带而不是默认的体面矩形。
PhantomJS使用WebKit进行渲染,而Firefox使用Gecko,因此不可避免地存在轻微差异。
针对不同的WebKit版本也构建了不同的PhantomJS版本。 Apparently PhantomJS 2.x使用WebKit 538.x,使其成为equivalent to Safari 7 or 8。相比之下,我现在的PhantomJS 1.9.8 uses WebKit 534.34,相当于Safari 5。
Google将Safari 5确定为“旧”浏览器,因此可能render its search pages differently。 (我不认为JavaScript可能无法运行 - 除非您明确禁用它。)
因此升级到PhantomJS 2.x无疑会减少与Firefox的渲染差异。