javascript - PhantomJS 中的宽度、高度值与 Chrome 不同

标签 javascript phantomjs casperjs

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

这是使用 CasperJS 截取的屏幕截图:http://prntscr.com/22rqvf

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

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

最佳答案

该图像的 HTML 已损坏:末尾有一个额外的引号:

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

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

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

关于javascript - PhantomJS 中的宽度、高度值与 Chrome 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19866155/

相关文章:

javascript - 如何删除 casperjs 事件监听器

javascript - 使用 CasperJS 提交表单和下载文件

javascript - PostgreSQL 错误 : connection terminated

javascript - 干净的 url 在没有标签的前端管理

python - 防止在 Python 驱动的 PhantomJS/Selenium 中下载 CSS/其他资源

javascript - CasperJS截图只是页面的一小部分

javascript - jQuery ajax() 使用成功、错误和完成与 .done()、.fail() 和 always()

javascript - 在AngularJS中使用 Protractor 单击单元测试中的超链接

javascript - 我的应用程序 URL 未在 PhantomJs 浏览器中打开

python - Selenium - 引发 httplib.BadStatusLine