首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >硒元素定位实现

硒元素定位实现
EN

Stack Overflow用户
提问于 2014-01-01 10:14:46
回答 2查看 342关注 0票数 1

这听起来可能是一个相当基本的问题,但我找不到一个正确的答案我的问题。Selenium元素定位实现是如何工作的?例如:-通过ID执行findElement时,selenium(某些引擎或实现)是否遍历整个DOM?我想是的。

在这种情况下,findElement的ID比Xpath的findElement更快。因为如果我提供类似于//input[@id='']的Xpath,则Selenium (某些引擎或实现)将不会遍历整个DOM并直接搜索输入元素,从而导致搜索速度更快。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-01 18:53:49

xpath和id等(所有Bys)的实现是不同的,取决于您在哪个浏览器上运行,某些浏览器将比其他浏览器运行得更快,因为它们对通过这种方式进行搜索提供了本机支持,而其他浏览器则需要使用selenium来伪造实现,使其工作正常。这方面的一个例子是xpath,如果我记得正确的话,它不是在IE中本地实现的,所以使用xpath比id慢得多。

票数 0
EN

Stack Overflow用户

发布于 2014-01-01 23:27:44

WebDriver对浏览器的底层Javascript实现进行了严密建模。

例如,根据W3C WebDriver草案,ID定位器应该在功能上等效于javascript document.getElementById()调用。

针对不同浏览器的WebDriver实现应该使用对位置策略(如xpath )的本机支持。如果本机支持不可用,则可以使用纯JS实现。由于浏览器及其本机实现的范围不同,每个位置策略的性能将因浏览器和定位器策略的不同而不同。

参考资料和进一步阅读:

WebDriver - W3C编辑器的草图-元素定位策略

Selenium

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

https://stackoverflow.com/questions/20867557

复制
相关文章

相似问题

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