题目:关于 Selenium/Playwright 的元素等待策略,下列说法错误的是( )
A. 显式等待通过 WebDriverWait 轮询预期条件,条件成立立即返回,超时则抛 TimeoutException B. 隐式等待一旦设置,作用于整个 driver 生命周期内每次查找元素,直到再次调用 implicitly_wait 修改 C. pageLoadTimeout 用于限制一次页面导航(goto)的整体加载时间 D. 为了更稳,推荐同时开启显式等待和隐式等待,二者叠加形成"双保险"
难度:初级 题型:笔试(单选)
参考答案/答题要点:
答案 D。
- D 错在把"双保险"当最佳实践。显式等待与隐式等待叠加会产生不可预期的总等待时长(部分实现下相互干扰,导致等待时间远超预期甚至行为异常),Selenium 与 Playwright 官方文档都明确不建议混用。
- A/B/C 均为正确描述:显式等待=按条件轮询、成立即返回;隐式等待=全局作用于每次 findElement;pageLoadTimeout 管导航加载。
- 加分点:Playwright 默认内置 auto-wait(actionability check),一般无需手写 sleep 或强制等待,优先用 expect(…).to_be_visible() 之类的断言式等待。