1.元素定位
1.1.id定位
driver.find_element(By.ID, "kw").send_keys("selenium")
1.2.name定位
driver.find_element(By.NAME, "wd").send_keys("selenium")
1.3.link_text定位
超链接(也可以部分链接文本,但文本必须唯一)
driver.find_element(By.LINK_TEXT, "hao123").click()
1.4.xpath定位
两种定位方式 ①绝对路径:/开头的是绝对路径 ② 相对路径://开头的是相对路径
- 相对路径+索引定位:
举个例子,定位百度搜索框的时候我们打开检查元素,要定位input ,首先,ctrl+f输入//input 回车,可以发现 会有20条input记录,但考虑元素定位的唯一性,找到它的父目录,也就是form标签,ctrl+f输入//form ,可以看到,此时便是唯一记录了 在这个唯一记录中,input标签存在于span父目录中,再次进行索引…便可得到了 注意点:span[1]代表着第一个span标签
driver.find_element(By.XPATH, '//form/span[1]/input').send_keys("selenium")
- 相对路径+属性定位
输入input标签,找到唯一属性,例如 便可定位出百度搜素框了
driver.find_element(By.XPATH, '//input[@autocomplete="off"]').send_keys("seleniu
- 相对路径+通配符定位
要求:属性必须唯一 我们平时复制xpath这样的操作其实就是对路径+通配符定位
driver.find_element(By.XPATH, '//input[@autocomplete="off"]').send_keys("selenium")
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Firefox()
driver.get("https://www.baidu.com")
driver.find_element(By.ID, "kw").send_keys("selenium")
driver.find_element(By.NAME, "wd").send_keys("selenium")
driver.find_element(By.LINK_TEXT, "hao123").click()
driver.find_element(By.XPATH, '//*[@id="kw"]').send_keys("selenium")
|