PhantomJS中的宽度,高度值与Chrome不同

时间:2013-11-08 18:33:53

标签: javascript phantomjs casperjs

我正在使用CasperJS来抓取网站。解析此站点时,我发现了一个奇怪的情况:http://socalskateshop.com/index.php?l=product_detail&p=36224

以下是CasperJS的截图:http://prntscr.com/22rqvf

如您所见,没有徽标。我深入研究了DOM,我看到<img>元素的宽度为: 384px ,高度 10px

但是,使用Chrome我可以看到图像宽度 183px ,高度 100px 。所以我的问题是...... CasperJS的图像本身发生了什么?我看到src的协议是 https ,但这会影响吗?

1 个答案:

答案 0 :(得分:0)

该图片的HTML已损坏:最后有一个额外的引号:

<img src="https://socalskateshop.com/themes/classic_black/images/socalskateshoplogoH.jpg"" alt=... />
                                                                                        ^^

我的猜测是Chrome在某些时候开始更容忍HTML错误。 (记住PhantomJS大致相当于Chrome 13或Safari 5.1)

不幸的是,假设您没有运行该网站而无法修复HTML,我想不出一个好的解决方法。有些想法转而使用SlimerJS,或者在检查和修复错误的HTML之间运行代理服务器。