Python+Selenium 基础篇4 之 XPath 定位元素

使用XPath定位元素

选取节点

XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式:
Python+Selenium 基础篇4 之 XPath 定位元素_第1张图片
简单来说就是:
/ 是绝对路径定位
// 是相对路径定位
@ 是选择元素定位

网址:链接: www.bdidu.com.

1. 相对路径 + 绝对路径定位

想定位新闻的按键 可以写成这样 //div[1]/div[1]/div[3]/a[1]

//div[1] 是相对路径 /div[1]/div[3]/a[1] 是绝对路径 【】括号里面的数字是代表第几个,1是第一个div,3就是第三个div
Python+Selenium 基础篇4 之 XPath 定位元素_第2张图片

# coding=utf-8

from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()  # 最大化浏览器
driver.implicitly_wait(8)  # 设置隐式时间等待

driver.get("https://www.baidu.com") # 打开的网址


driver.find_element_by_xpath('//div[1]/div[1]/div[3]/a[1]').click() # 找到的‘新闻’元素,click点击

2. XPath 通过name定位元素

Python+Selenium 基础篇4 之 XPath 定位元素_第3张图片

# coding=utf-8

from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()  # 最大化浏览器
driver.implicitly_wait(8)  # 设置隐式时间等待

driver.get("https://www.baidu.com") # 打开的网址


driver.find_element_by_xpath('//*[@name="wd"]').send_keys('selenium') # 找到的name元素输入框,send_keys是输入框输入

3. XPath 通过ID定位元素

# coding=utf-8

from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()  # 最大化浏览器
driver.implicitly_wait(8)  # 设置隐式时间等待

driver.get("https://www.baidu.com") # 打开的网址

driver.find_element_by_xpath('//*[@id="kw"]').send_keys('selenium')

4. 常用的定位方法

Python+Selenium 基础篇4 之 XPath 定位元素_第4张图片
如上图,我们需要点击新闻,其实有一个很简单又常用的方法,就是直接右键复制XPath,如下图

Python+Selenium 基础篇4 之 XPath 定位元素_第5张图片

# coding=utf-8

from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()  # 最大化浏览器
driver.implicitly_wait(8)  # 设置隐式时间等待

driver.get("https://www.baidu.com") # 打开的网址

driver.find_element_by_xpath('//*[@id="s-top-left"]/a[1]').click()

有用到 // 相对路径 @ 元素选择 / 绝对路径 /a[1]是代表绝对路径的第一个a

你可能感兴趣的:(Python,+,Selenium从基础到高级篇,python,selenium,开发语言)