首页 > 技术文章 > Selenium面试题1-八大定位元素是什么?都有哪些优缺点?

all-best98 2021-08-02 17:57 原文

八大定位元素

 

#HTML例子: < input type = "text"class ="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off" >

 

driver.find_element_by_id("kw")                根据id定位(较常用)

driver.find_element_by_name("wd")                         根据name定位(较常用)

driver.find_element_by_class_name("s_ipt")            根据class定位(较常用)

driver.find_element_by_xpath("//*[@id='kw']")           根据xpash定位(较常用)

driver.find_element_by_css_selector("#kw")             根据css定位(较常用)

driver.find_element_by_tag_name("input")               根据标签名称定位(不建议用,会重复)

 

#<a href="/intl/en/about.html">About Google</a>

 

driver.find_element_by_link_text("About Google")    根据文本链接上的文字定位

driver.find_element_by_partial_link_text("About")     根据模糊匹配文本链接的文字定位

 

总结:

1. 当页面元素有id属性时,最好尽量用id来定位。

2. xpath很强悍,但定位性能不是很好,所以还是尽量少用。如果确实少数元素不好定位,可以选择xpath或cssSelector。

3. 当要定位一组元素相同元素时,可以考虑用tagName或name。

4. 当有链接需要定位时,可以考虑linkText或partialLinkText方式。

推荐阅读