元素定位
写用例时,要写测一测自己写的代码是不是对的(否则这不是写代码而是写bug)
一. 元素的八大定位
在百度界面定位
1. find_element_by_id
import selenium from webdriver driver=webdriver.Chrome() url="http://www.baidu.com" driver.get(url) driver.find_element_by_id("kw").send_keys("python")
2.find_element_by_name()
import selenium from webdriver driver=webdriver.Chrome() driver.get("http://www.baidu.com") driver.find_element_by_name("wd").send_keys("pyth") 定位元素,需要看看是否是唯一的。
3.find_element_by_class_name()
import selenium from webdriver driver=webdriver.Chrome() driver.get("http://www.baidu.com") driver.find_element_by_class_name("s_ipt").send_keys("python")
4.find_element_by_tag_name()
import selenium from webdriver driver=webdriver.Chrome() driver.get("http://www.baidu.com") driver.find_element_tag_name("input").send_keys("python") #一般不用tag_name 定位,有很多标签,有类似的
5.find_element_by_link_text() 超链接
find_element_by_partial_link_text() 模糊匹配
import selenium from webdriver driver=webdriver.Chrome() driver.get("http://www.baidu.com") driver.find_element_by_link_text("hao123").click() #登录hao123 # driver.find_element_by_partial_link_text("ao123").click()
6.find_element_by_xpath()
xpath可分为相对路径和绝对路径,可用xpath工具进行定位
import selenium from webdriver driver=webdriver.Chrome() driver.get("http://www.baidu.com") driver.find_element_by_xpath(".//*[@id='kw']").send_keys("python")
7.find_element_by_css_selector()
import selenium from webdriver driver=webdriver.Chrome() driver.get("http://www.baidu.com") driver.find_element_by_css_selector("#kw").send_keys("python")