from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get(“file:///Users/zhufei/PycharmProjects/pythonProject/test1.html”)#打开百度浏览器
‘’’
通过id属性去进行定位,只返回匹配到的第一个元素
ele= driver.find_element_by_id(“abc”)
print(ele.text)
通过name属性去进行定位,只返回匹配到的第一个元素
ele=driver.find_element_by_name(“abc”)
print(ele.text)
根据xpath定位
ele=driver.find_element_by_xpath("/html/body/div/ul/li")
print(ele.text)
根据css表达式去定位
ele=driver.find_element_by_css_selector(“body > div > ul > li”)
print(ele.text)
根据链接文本去定位
ele=driver.find_element_by_link_text(“这里是百度”)
ele.click()
根据链接文本去定位,模糊匹配
ele=driver.find_element_by_partial_link_text(“原则公布”)
ele.click()
根据tag name去定位
ele=driver.find_element_by_tag_name(“p”)
print(ele.text)
‘’’
根据class属性去定位
ele=driver.find_element_by_class_name(“abc”)
print(ele.text)
匹配元素列表,返回所有匹配到的元素,如果一个都匹配不到,就返回空列表
elelist=driver.find_elements_by_tag_name(“p”)
print(type(elelist))
print(elelist[0].text)
for ele in elelist:
print(ele.text)
根据id属性去定位,第一个参数填定位方法,第二个参数填表达式
ele=driver.find_element(By.ID,“abc”)
print(ele.text)
用这种方式匹配元素列表
ele=driver.find_elements(By.TAG_NAME,“p”)
print(ele[0].text)
元素层级很深或太复杂,可以分步定位,先定位到元素的父元素
ele=driver.find_element_by_tag_name(“div”)
再根据父元素,去定位子元素
ele1=ele.find_element_by_tag_name(“li”)
print(ele1.text)