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

在selenium中使用隐式等待

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

在selenium中使用隐式等待

隐式等待

ImplicitWait按照该Java文档是指定的时间量 webdriver的 情况下,即在 驾驶员
的一个元素搜索时,如果不立即出现在应该等待HTML
DOM
中,术语 纳秒MICROSECONDS
MILLISECONDSSECONDSMINUTES ,尝试查找一个或多个元素(如果无法立即使用)时的 HOURS
DAYS 。默认设置为 0 ,表示

driver
当找到用于查找一个或多个元素的指令时,搜索开始并且结果立即可用。

在这种情况下,在重新加载网页之后,可能立即搜索到一个或多个元素。因此,您的自动化框架可能会遇到以下任何异常:

  • NoSuchElementException
  • TimeoutException
  • ElementNotVisibleException
  • ElementNotSelectableException

因此,我们介绍了 ImplicitWait 。通过引发 ImplicitWait驱动程序
将轮询DOM树,直到找到该元素达配置的时间(在抛出NoSuchElementException之前寻找一个或多个元素)。到那时,您一直在寻找的一个或多个元素可能在
HTML DOM中 可用。作为您的代码已经设置 ImplicitWait 为值 10 秒, 司机 将轮询 HTML DOM
10 秒。

  • Python

    driver.implicitly_wait(10)
  • Java

    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
  • 点网

    driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);

最后,一旦设置了 ImplicitWait,则[WebDriver实例(即 驱动程序)_将能够携带此配置直到其生命周期。但是,如果你需要改变的时候粗了
_webdriver的
情况下即 驾驶员等待 ,那么你可以按如下重新配置:

  • Python

    driver.implicitly_wait(5)
  • Java

    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
  • Point network

    driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

如果您想在任何时候取消

ImplicitWait
它,可以按以下方式重新配置它:

  • Python

    driver.implicitly_wait(0)
  • Java

    driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
  • 点网

    driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(0);

回答你的问题

  • …等待URL … :否, ImplicitWait 对页面加载没有影响。
  • …对于查找元素… :是的, ImplicitWait 将定义
    WebDriver
    实例等待查找一个或多个元素的大致时间。
  • …隐式等待一次… :是的,您只需要配置一次 ImplicitWait ,它适用于 WebDriver 实例的整个生命周期。
  • …每个元素搜索… :是的,在调用
    findElement()
    或时
    findElements()
    均适用。


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

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

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