栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Selenium隐式等待是否总是占据整个等待时间,还是可以更快地完成?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Selenium隐式等待是否总是占据整个等待时间,还是可以更快地完成?

一旦能够找到元素,它就可以完成。如果不是,它将引发错误并停止。轮询时间还是非常特定于驱动程序的实现(不是Java绑定,而是驱动程序部分,例如:FireFox扩展,Safari扩展等)。

正如我在这里提到的,这些是非常特定于驱动程序实现的。所有与驱动程序相关的调用都通过

execute
方法进行。

我正在介绍该

execute
方法的要点(您可以在此处找到完整的源代码):

protected Response execute(String driverCommand, Map<String, ?> parameters) {    Command command = new Command(sessionId, driverCommand, parameters);    Response response;    long start = System.currentTimeMillis();    String currentName = Thread.currentThread().getName();    Thread.currentThread().setName(        String.format("Forwarding %s on session %s to remote", driverCommand, sessionId));    try {      log(sessionId, command.getName(), command, When.BEFORE);      response = executor.execute(command);      log(sessionId, command.getName(), command, When.AFTER);      if (response == null) {        return null;      }      //other pres }

该行:

response = executor.execute(command);

说了整个故事。

executor
属于类型
CommandExecutor
,因此所有调用都转到特定的驱动程序类(如)
ChromeCommandExecutor,SafariDriverCommandExecutor
,该类具有自己的处理方式。

因此,轮询取决于驱动程序的实现。

如果要指定轮询时间,则可能应该开始使用ExplicitWaits。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/636093.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号