我需要在html页面中获取图像的显示/可视图像尺寸。我正在使用JSOUP。
我可以通过检索图像作为流来获取实际的图像尺寸,但我不需要图像的实际尺寸,而只需要显示尺寸。
无法保证 img标记是否包含高度和宽度html属性,因此我不能依赖getAttribute方法。
如果我能就此得到任何建议,那将会很有帮助。
提前致谢。
答案 0 :(得分:2)
这是一项非常重要的任务。
要获得适用于任何页面(包括动态添加的内容)的真实图像大小,将使用无头浏览器并在文档完全加载后使用javascript查询显示大小。如果你可以注入jQuery javascript框架,那么jQuery.width()
jQuery.height()
将分别返回渲染的宽度和高度。执行相同操作的纯JavaScript函数是特定于浏览器的。
假设图像没有动态添加或更改,只需解析就可以了:
<img width="150px" height="100px">
,<img style="width: 150px; height: 100px;">
,最后<img id="some-image-id" class="some-class">
匹配图像标记到一些css规则,看起来像#some-image-id, .some-image-class { width: 150px; height: 100px; }
答案 1 :(得分:1)
JSOUP只会提供HTML中的内容,因此您必须依赖标记中的内容(img标记属性)。 实际大小取决于浏览器如何显示它,它是特定于供应商的。