XPath和CSS方式获取元素
_我是老欧,不扯概念只搞干货.
- 整点混合获取方式
1. XPath获取元素
- xpath这种定位方式,webdriver会将整个页面的所有元素进行扫描以定位我们所需要的元素,所以这是一个非常费时的操作,如果你的脚本中大量使用xpath做元素定位的话,将导致你的脚本执行速度大大降低,所以请慎用!!!
1.1 绝对路径获取元素
- 使用:以/html为根节点开始,使用/来分隔元素层级。
import time
from selenium import webdriver
drive = webdriver.Chrome()
drive.get("https://www.baidu.com/")
drive.find_element_by_xpath("/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input").send_keys("测试输入")
time.sleep(2)
drive.quit()
1.2 相对路径获取元素
- 使用:://element 或者 //*
import time
from selenium import webdriver
drive = webdriver.Chrome()
drive.get("https://www.baidu.com/")
drive.find_element_by_xpath("//*[@id='kw']").send_keys("测试输入")
time.sleep(2)
drive.quit()
1.3 属性获取元素
- 使用://element[@id=‘userA’] 或者 //*[@id=‘userA’]
import time
from selenium import webdriver
drive = webdriver.Chrome()
drive