一、id定位
find_element_by_id()
采用id属性进行定位。例如在百度页面中输入关键字 Selenium 进行搜索。百度部分关键html源码如下:
百度输入框和百度一下的按钮都有id,那么定位代码如下:
#coding=utf-8
from selenium import webdriver
import time
driver = webdriver.Chrome()
#等待
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Selenium")
driver.find_element_by_id("su").click()
#等待两秒钟
time.sleep(2)
#退出浏览器
driver.quit()
二、name定位
find_element_by_name()
driver.find_element_by_name("wd")
三、class_name定位
find_element_by_class_name()
driver.find_element_by_class_name("s_ipt")
四、xpath定位
find_element_by_xpath()
xpath是XML路径语言,它可以用来确定xml文档中的元素位置,通过元素的路径来完成对元素的查找。HTML就是XML的一种实现方式,所以xpath是一种非常强大的定位方式。
获取xpath、css_selector路径方法
打开谷歌浏览器-->打开百度-->键盘点击F12--点击定位位置-->点击源码位置-->邮件copy
绝对路径
如百度搜索框的绝对路径xpath定位:
driver.find_element_by_xpath("/html/body/div[1]/div[1]/div/div[1]/div/form/span[1]/input")
相对路径(属性标签等)
搜索框还可以利用id和name属性去定位:
driver.find_element_by_xpath(