Of the many findElement(s)/By functions in Selenium, when would you use one over the other?(在Selenium中的众多findElement/by函数中,您什么时候会优先使用其中一个呢?)
                            本文介绍了在Selenium中的众多findElement/by函数中,您什么时候会优先使用其中一个呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
                        
                        问题描述
Selenium包含findElement函数,如下所示..find_element_by_
id
link_text
partial_link_text
name
class_name
tag_name
css_selector
xpath
所以我想知道,什么时候想要使用其中一个而不是另一个(特别是XPath或css_selector)?
其他函数(id、link_text等)几乎没有用吗,因为(至少)我发现XPath/css_selector也可以做到这一点?
比方说,使用link_text比使用XPath/css_selector有什么好处吗?
推荐答案
此问题已在多个不同格式的论坛上被问及并回答。考虑到所有这些因素,如果我们对定位器进行优先级排序,则列表将如下所示:
- id:选择具有指定id属性的元素。
- 名称:选择具有指定name属性的第一个元素。
- link_text:选择包含与指定LinkText匹配的文本的链接(锚标签)元素。
- PARTIAL_LINK_TEXT:选择包含与指定PartialLinkText匹配的文本的链接(锚标签)元素。
- TAG_NAME:使用Tag Name定位元素。
- CLASS_NAME:使用ClassName定位元素。
- css_selector:使用CssSelectors选择元素。
- XPath:使用XPath表达式定位元素。
所以现在的问题是有什么新功能?
答案是硒最近进化了很多。WebDriver现在是W3C Recommendation Candidate。Selenium内部的情况变化很快。这不再仅仅是选择定位器的问题了。我们需要使用定位器,该定位器将:
- 唯一标识元素。
- 必须优化定位器的性能。
牢记这两个因素,最佳策略是模拟DOM。W3C Recommendation Candidate确实提到了定位器列表,如下所示:
因此判决清晰明了。
这篇关于在Selenium中的众多findElement/by函数中,您什么时候会优先使用其中一个呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
				 沃梦达教程
				
			本文标题为:在Selenium中的众多findElement/by函数中,您什么时候会优先使用其中一个呢?
 
				
         
 
            
        基础教程推荐
             猜你喜欢
        
	     - 修改列表中的数据帧不起作用 2022-01-01
- Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙? 2022-01-01
- 使用大型矩阵时禁止 Pycharm 输出中的自动换行符 2022-01-01
- 包装空间模型 2022-01-01
- 求两个直方图的卷积 2022-01-01
- 在同一图形上绘制Bokeh的烛台和音量条 2022-01-01
- 无法导入 Pytorch [WinError 126] 找不到指定的模块 2022-01-01
- 在Python中从Azure BLOB存储中读取文件 2022-01-01
- PermissionError: pip 从 8.1.1 升级到 8.1.2 2022-01-01
- PANDA VALUE_COUNTS包含GROUP BY之前的所有值 2022-01-01
 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
				 
				 
				 
				