详解xpath定位
xpath定位
1、通过开发者工具直接copy
右击copy-copy xpath

2、串联的方式定位元素

from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get('C:\CZBK\one\myhtml2.html')
xpathtext=driver.find_element_by_id('b').find_element_by_tag_name('div').text
print(xpathtext)
driver.quit()
3、通过父元素定位子元素
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get('C:\CZBK\one\myhtml2.html')
mytext = driver.find_element_by_xpath("//div[@id='B']/div").text
mytext = driver.find_element_by_xpath("//div[@id='B']/child::div").text
print(mytext)
driver.quit()
4、通过子元素定位父元素
from selenium import webdriver
# "由子节点定位父节点"
driver = webdriver.Chrome()
driver.get('C:\CZBK\one\myhtml3.html')
# 1.xpath: `.`代表当前节点; '..'代表父节点
mytext = driver.find_element_by_xpath("//div[@id='C']/../..").text
print(mytext)
# 2.xpath轴 parent
mytext1 = driver.find_element_by_xpath("//div[@id='C']/parent::div/parent::div").text
print(mytext1)
driver.quit()

5、通过弟弟节点定位哥哥节点元素

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('C:\CZBK\one\myhtml4.html')
# 1.xpath,通过父节点获取其哥哥节点
mytext = driver.find_element_by_xpath("//div[@id='D']/../div[1]").text
print(mytext)
# 2.xpath轴 preceding-sibling
mytext1 = driver.find_element_by_xpath("//div[@id='D']/preceding-sibling::div[1]").text
print(mytext1)
driver.quit()
6、通过哥哥节点定位弟弟节点元素
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('C:\CZBK\one\myhtml4.html')
# 1.xpath,通过父节点获取其弟弟节点
mytext = driver.find_element_by_xpath("//div[@id='D']/../div[3]").text
print(mytext)
# 2.xpath轴 following-sibling
mytext1 = driver.find_element_by_xpath("//div[@id='D']/following-sibling::div[1]").text
print(mytext1)
driver.quit()

浙公网安备 33010602011771号