根据元素的特征,来确认元素的条件,然后根据条件去找到唯一的那个元素
8大元素
1、只根据元素的一个属性来找元素,6大
id
name
class_name
tag_name
只对a元素
link_text
partial_link_text
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# id
element = driver.find_element(By.ID, 'kw')
# class_name
driver.find_element(By.CLASS_NAME, 's_ipt')
driver.find_elements(By.CLASS_NAME, 's_ipt')
# name
driver.find_element(By.NAME, 'wd')
driver.find_elements(By.NAME, 'wd')
# tag
driver.find_element(By.TAG_NAME, 'input')
driver.find_elements(By.TAG_NAME, 'input')
# link_text
driver.find_element(By.LINK_TEXT, '地图')
driver.find_elements(By.LINK_TEXT, '地图')
# partial_link_text
driver.find_element(By.PARTIAL_LINK_TEXT, 'hao')
2、多个属性组合来找元素或者通过其他的关系来找元素
xpath
1、 层级定位: //一级元素//二级元素//.......
例如: //div[@id="number-attend"]//i[@class="ing"]
2、相对定位,靠自己的特征来定位
以//开头,有一个参照物
1)、//标签名[@属性=值]
//i[@class="ing"]
//*[@*="ing"]
2)、文本匹配 //标签名称[text()=值]
//a[text()="公告"]
3)、包含, //标签名[contains(@属性/text(), 值)]
//a[contains(@href,"值")]
//a[contains(text(), "公告")]
3、轴定位:通过关系找到自己