Selenium极力推荐使用css定位,而不是XPath来定位元素,原因是css定位比XPath定位速度快,语法也更加简洁。
css常用定位方法
1.find_element_by_css_selector()
2.#id id 选择器根据id属性来定位元素
3. .class class选择器,根据class属性值来定位元素
4. [attribute=‘value‘] 根据属性来定位元素
5.element>element 根据元素层级来定位 父元素>子元素
例子:
from selenium import webdriver
from time import sleep
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")
#根据id定位
driver.find_element_by_css_selector("#kw").send_keys("loadrunner")
#根据class定位
driver.find_element_by_css_selector(".s_ipt").send_keys("vb")
#根据属性定位
driver.find_element_by_css_selector("[autocomplete=‘off‘]").send_keys("selenium")
sleep(3)
driver.find_element_by_id("su").click()
sleep(5)
driver.quit()
driver.get("http://www.***.net")
sleep(2)
#根据层级定位
driver.find_element_by_css_selector("form#loginForm>u1>input").send_keys("用户名")
driver.find_element_by_css_selector("form#loginForm>u1>input[name=‘password‘]").send_keys("密码")
原文地址:https://www.cnblogs.com/luckerzhang/p/9343728.html