当前位置:   article > 正文

Selenium中8种定位元素的方法总结_selenium 定位a标签

selenium 定位a标签

小技巧:

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

  1. # 完整文本定位
  2. driver.find_element(By.XPath,"//*[(text(),'你想要定位的文本')]")
  3. # 部分文本定位
  4. driver.find_element(By.XPath,"//*[contains(text(),'你想要定位的文本')]")
  5. # 以……开头的文本
  6. 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结尾的元素。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号