Selenium极力推荐使用CSS 定位,而不是XPath来定位元素,原因是CSS 定位比XPath 定速度快,语法也更加简洁。
CSS常用定位方法:
- find_element_by_css_selector()
- #id id选择器根据id属性来定位元素
- .class class选择器,根据class属性值来定位元素
- [attribute=’value’] 根据属性来定位元素
- element>element 根据元素层级来定位 父元素>子元素
from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
#根据id来定位
driver.find_element_by_css_selector('#kw').send_keys("yyishare")
#根据class定位
driver.find_element_by_css_selector('.s_ipt').send_keys('yyishare')
#通过属性来定位
driver.find_element_by_css_selector("[autocomplete='off']").send_keys("yyishare")
sleep(2)
driver.find_element_by_id('su').click()
driver.get("http://www.google.com")
#通过元素层级来定位
driver.find_element_by_css_selector("div.a4bIc>input").send_keys("yyishare")
sleep(2)
driver.quit()