You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium+Python:execute_script验证图片显示的异常问题排查

问题原因解析

这是JavaScript运算符优先级导致的逻辑错误:

  • typeof 运算符的优先级高于关系运算符 >,所以你写的 typeof arguments[0].naturalWidth>0 会被JS引擎按以下顺序执行:
    1. 先计算 typeof arguments[0].naturalWidth,因为 naturalWidth 是数值类型(431),所以返回字符串 "number"
    2. 接着执行字符串与数字的比较:"number" > 0。JS中字符串和数字比较时,会尝试把字符串转为数字,而 "number" 无法转为有效数字,会得到 NaN
    3. NaN 和任何值比较的结果都是 false,所以最终返回 false

而正确写法 return (arguments[0].naturalWidth>0) 是直接对数值进行比较:431 > 0,结果自然为 true,符合图片正常加载的实际情况。

另外补充:验证图片是否正常加载时,naturalWidth > 0 是可靠的判断方式——当图片加载成功时,naturalWidth 会返回图片的原始宽度(正整数);如果加载失败(比如链接失效、资源不存在),naturalWidth 会是0。

内容的提问来源于stack exchange,提问作者zaelcovsky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 03:29:53