八大元素定位法则

'''
八大元素定位法则
    所有的元素定位,都是调用的一个核心方法,driver.find_element()。
    此方法就是基于八种元素定位方法定位某个需要的元素。
'''
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service=Service('../chromedriver.exe')
driver = webdriver.Chrome(service=service)
driver.implicitly_wait(5)
driver.get('http://www.baidu.com')

#元素的定位
#id:基于元素的id属性来进行定位的方法。必须具备id属性才可以使用此方法定位。通常id是唯一的
print(driver.find_element('id','kw'))
#name:基于元素的name属性进行定位的方法。必须具备name属性才可使用。可能出现重名情况。
print(driver.find_element('name','wd'))
#classname:基于元素的class属性进行定位。不推荐,容易定位失败
print(driver.find_element('class name','s_ipt'))
# print(driver.find_element('class name','c-icon quickdelete c-color-gray2'))   #无法定位
#tagname:基于元素的标签名进行定位。自动化中不用,爬虫领域下使用。
# print(driver.find_element('tag name','div'))
#link text:基于元素的文本进行定位。此方法只能用于a标签。
print(driver.find_element('link text','新闻'))
#partial link text:基于元素的文本模糊查找定位。只能用于a标签
print(driver.find_element('partial link text',''))
#css selector:定位万金油。基于html中标签的class值实现元素的获取,有自己的独特语法结构。
print(driver.find_element('css selector','.s_ipt'))
#xpath:定位万金油。具有自己的独特语法结构。基于html标签的层级关系,也就是路径实现元素定位。
print(driver.find_element('xpath','//*[@id="kw"]'))

 

posted @ 2024-12-12 22:53  mafei666  阅读(73)  评论(0)    收藏  举报