1、通过ID定位
driver.find_element_by_id()
driver.find_elements_by_id()
'''find_element_ 返回匹配到的第一个元素,匹配不到则报错
find_elements_ 返回匹配到的所有元素--列表返回,匹配不到则返回空列表
'''
2、通过name属性定位
driver.find_element_by_name()
driver.find_elements_by_name()
3、通过xpath-万能匹配
下拉框,没有属性,如何定位——利用xpath,可以在标签上右键copy它的xpath
driver.find_element_by_xpath()
driver.find_elements_by_xpath()
4、通过css表达式定位
利用xpath,可以在标签上右键copy它的css
driver.find_element_by_css_selector()
driver.find_elements_by_css_selector()
5、通过链接文本link_text定位
'''全文本匹配,不支持模糊定位,test必须是完全相同'''
driver.find_element_by_link_text("test")
driver.find_elements_by_link_text()
6、通过链接文本partial_link_text定位
'''支持模糊定位'''
driver.find_element_by_partial_link_text()
driver.find_elements_by_partial_link_text()
7、tag_name定位
driver.find_element_by_tag_name()
driver.find_elements_by_tag_name()
8、class属性
'''class属性,如果是复合类,中间空格隔开,取任何一个都可以'''
driver.find_element_by_class_name()
driver.find_elements_by_class_name()
备注:另外一种定位方式
from selenium import webdriver
driver.find_element(By.CLASS_NAME,"")
driver.find_element(By.CSS_SELECTOR,"")
在元素层级很深,路径复杂的时候,可以分步骤定位,先定位到父层级