首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打电话给driver.findElement或WebElement.findElement更快吗?

打电话给driver.findElement或WebElement.findElement更快吗?
EN

Stack Overflow用户
提问于 2018-05-08 00:01:09
回答 2查看 1.1K关注 0票数 3

我环顾了一下网上和文档,试图找出这个问题的具体答案,但到目前为止还没有找到答案。

假设我有一个自定义容器元素,它包含站点上的某个部分,比如说,其中有一组嵌套元素。使用driver.findElement或WebElement.findElement查找内部元素会更快吗?它们是否每次都必须与浏览器交互,或者后者是否发生在内存中?

希望这个问题有意义。

干杯。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-08 06:50:36

driver.findElement()webelement.findElement()基本上使用相同的原理来使用给定的方法找到第一个WebElement。findElement()调用将返回匹配的行,或反复尝试,直到达到配置的超时(通过implicitWait或explicitWait)为止。

因此,从性能的角度来看,使用driver.findElement()webelement.findElement()不会产生影响。

那么有什么关系呢?

最重要的是您选择的定位器策略以及实现它们的方式。文档明确提到:

在使用xpath时,请注意,驱动程序遵循标准约定:

  • //为前缀的搜索将搜索整个文档,而不仅仅是当前节点的子节点。
  • 使用.//将搜索限制在此WebElement的子级。

结论

在使用.//时,使用前缀限制搜索仅限于引用WebElement的子级。

票数 1
EN

Stack Overflow用户

发布于 2018-05-08 00:55:18

我要说的是,总的来说,这需要同样的时间/你不会注意到差别。除非它是一个非常复杂的页面,但在这种情况下,您可能已经遇到了在测试中管理页面状态的更大问题。

您提到的这两个调用都将产生对selenium服务器的远程HTTP调用,这将比在HTML树中搜索元素花费更多的时间。因此产生的时间将大致相同。

现在,考虑到您的页面加载时间,通常比findElement调用慢几个订单。

那么,你是想加快考试速度,还是这个问题只是出于好奇?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50223975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档