0


Selenium中8种定位元素的方法总结

小技巧:

定位

标签和标签中的文本元素,最佳的定位方式是使用XPath的text()方法:

# 完整文本定位
driver.find_element(By.XPath,"//*[(text(),'你想要定位的文本')]")

# 部分文本定位
driver.find_element(By.XPath,"//*[contains(text(),'你想要定位的文本')]")

# 以……开头的文本
driver.find_element(By.XPath,"//*[starts-with(text(),'你想要定位的文本')]")

注意: text不是属性,无需使用@修饰。

Selenium中8种定位方法:

属性定位方法:

id:通过id属性定位,id通常是唯一的。

element = driver.find_element_by_id("element_id")

name:通过name属性定位,如果页面上有多个元素具有相同的name,则返回第一个。

element = driver.find_element_by_name("element_name")

class_name:通过class_name属性定位,如果页面上有多个元素具有相同的class_name,则返回第一个。

element = driver.find_element_by_class_name("class_name")

标签名定位方法:

tag_name:通过标签名称定位,如

<input>

,

<div>

,

<button>

等。

element = driver.find_element_by_tag_name("tag_name")

超链接定位方法:

link_text:通过超链接的完整文本定位,即

<a>

标签。

element = driver.find_element_by_link_text("link_text")

partial_link_text:通过超链接的部分文本定位。

element = driver.find_element_by_partial_link_text("partial_link_text")

路径定位方法:

Xpath:

element = driver.find_element_by_xpath("//tag[@attribute='value']")
    //:代表相对路径,例如“//p”,意思是选择文档中的<p>元素,无论它们位于文档的什么位置。

    /:与//相反,代表的是绝对路径,例如/html/body/div/p,意思是选择HTML文档中body标签下的第一个<div>元素中的所有<p>元素。绝对路径很脆弱,任意页面结构的变动都会导致找不到元素。

    tag:可以是具体的标签名,也可以用*代替,即选择文档中的所有元素。

    attribute:代表的是属性,属性前面需要用@来修饰,例如//input[@id='submit']。

CSS选择器定位方法:

CSS Selector:

element = driver.find_element_by_css_selector("css_selector")

基本的css选择器:

通过id定位:使用“#”加上元素的ID值。例如id=submit,那么括号内的css_selector = "#submit"。

通过class_name定位:使用“.”加上元素的class_name值。例如class_name=myClass,那么括号内的css_selector = ".myClass"。

通过标签名定位:直接使用HTML标签名。例如tag_name=div,那么括号内的css_selector = "div"。

属性选择器:

属性精确匹配选择器:[attribute='value']。例如:id='submit',那么括号内的css_selector = [id='submit'],即选择所有id等于submit的元素。

属性包含选择器:[attribute*='value']。例如:id='qqsubmit',那么括号内的css_selector = [id*='submit'],即选择所有id中包含submit的元素。

属性前缀选择器:[attribute^='value']。例如:id^='submitqq',那么括号内的css_selector = [id^='submitqq'],即选择所有id中以submit开头的元素。

属性后缀选择器:[attribute$='value']。例如:id$='submitqq',那么括号内的css_selector = [id$='qqwwsubmit'],即选择所有id中以submit结尾的元素。


本文转载自: https://blog.csdn.net/m0_67592130/article/details/134558281
版权归原作者 m0_67592130 所有, 如有侵权,请联系我们删除。

“Selenium中8种定位元素的方法总结”的评论:

还没有评论