xpath 轴
在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。
轴是相对于当前节点的节点集
ancestor:选取当前节点的所有先辈(包括父,祖父,祖祖父等)
ancestor-or-self:选取当前节点的所有先辈以及当前节点本身
attribute:选取当前节点的所有属性
child:选取当前节点的所有子元素
descendant:选取当前节点的所有后代元素(包括子,孙等)
descendant-or-self:选取当前节点的所有后代元素及当前节点本身
following:选择文本中当前节点结束标签后的所有节点
namespace:选取当前节点的所有命名空间节点
parent:选取当前节点的父节点
preceding:选取文档中当前节点的开始标签之前的所有节点
preceding-sibling:选取当前节点之前的所有同级节点
self:选取当前节点
用法:
轴名称::节点测试[谓语]
child::div:所有属于当前节点的子元素的div节点
attribute::id:选取当前节点的id属性
child::*:选取当前节点的所有子元素
attribute::*:选取当前节点的所有属性
child::text():选取当前节点的所有文本子节点
child::node():选取当前节点的所有子节点
descendant::div:选取当前节点的所有div的后代元素
ancestor::div:选取当前节点的所有div 的先辈元素
ancestor-or-self::div:选取当前节点的所有div的先辈元素以及当前节点(如果此节点为div节点的话)
child::*/child::div:选取当前节点的所有div孙节点
xpath 轴
在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。
轴是相对于当前节点的节点集
ancestor:选取当前节点的所有先辈(包括父,祖父,祖祖父等)
ancestor-or-self:选取当前节点的所有先辈以及当前节点本身
attribute:选取当前节点的所有属性
child:选取当前节点的所有子元素
descendant:选取当前节点的所有后代元素(包括子,孙等)
descendant-or-self:选取当前节点的所有后代元素及当前节点本身
following:选择文本中当前节点结束标签后的所有节点
namespace:选取当前节点的所有命名空间节点
parent:选取当前节点的父节点
preceding:选取文档中当前节点的开始标签之前的所有节点
preceding-sibling:选取当前节点之前的所有同级节点
self:选取当前节点
用法:
轴名称::节点测试[谓语]
child::div:所有属于当前节点的子元素的div节点
attribute::id:选取当前节点的id属性
child::*:选取当前节点的所有子元素
attribute::*:选取当前节点的所有属性
child::text():选取当前节点的所有文本子节点
child::node():选取当前节点的所有子节点
descendant::div:选取当前节点的所有div的后代元素
ancestor::div:选取当前节点的所有div 的先辈元素
ancestor-or-self::div:选取当前节点的所有div的先辈元素以及当前节点(如果此节点为div节点的话)
child::*/child::div:选取当前节点的所有div孙节点
# -*- coding: UTF-8 -*-
#@Time :2019/09/07 15:23
#@Author :wuailexiang
#@Email :3142223672@qq.com
#@File :test.py
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.maximize_window()
browser.get(‘地址’)
browser.find_element_by_xpath(‘//div[@class=”login-main”]/p[1]/input’).send_keys(‘admin’)
browser.find_element_by_xpath(‘//div[@class=”login-main”]/p[2]/input’).send_keys(‘wafer123’)
browser.find_element_by_xpath(‘//div[@class=”login-main”]/p[3]/button’).click()
time.sleep(1)
”’
xpath 轴
在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。
轴是相对于当前节点的节点集
ancestor:选取当前节点的所有先辈(包括父,祖父,祖祖父等)
ancestor-or-self:选取当前节点的所有先辈以及当前节点本身
attribute:选取当前节点的所有属性
child:选取当前节点的所有子元素
descendant:选取当前节点的所有后代元素(包括子,孙等)
descendant-or-self:选取当前节点的所有后代元素及当前节点本身
following:选择文本中当前节点结束标签后的所有节点
namespace:选取当前节点的所有命名空间节点
parent:选取当前节点的父节点
preceding:选取文档中当前节点的开始标签之前的所有节点
preceding-sibling:选取当前节点之前的所有同级节点
self:选取当前节点
用法:
轴名称::节点测试[谓语]
child::div:所有属于当前节点的子元素的div节点
attribute::id:选取当前节点的id属性
child::*:选取当前节点的所有子元素
attribute::*:选取当前节点的所有属性
child::text():选取当前节点的所有文本子节点
child::node():选取当前节点的所有子节点
descendant::div:选取当前节点的所有div的后代元素
ancestor::div:选取当前节点的所有div 的先辈元素
ancestor-or-self::div:选取当前节点的所有div的先辈元素以及当前节点(如果此节点为div节点的话)
child::*/child::div:选取当前节点的所有div孙节点
”’
#使用ancestor-or-self选取当前节点的所有先辈及当前节点本身
browser.find_element_by_xpath(‘//span[@class=”ant-cascader-picker”]/ancestor-or-self::span/input’).click()
#使用ancestor,选取当前节点的所有父节点
browser.find_element_by_xpath(‘//ul[@class=”ant-cascader-menu”]/ancestor-or-self::div/ul[1]/li[1]’).click()
#使用attritube选取当前节点的所有属性
browser.find_element_by_xpath(‘//span[@class=”ant-cascader-picker”]/input/attribute::type/ancestor::span/input’).click()
#使用child选取当前节点的所有的子元素,
browser.find_element_by_xpath(‘//ul[@class=”ant-cascader-menu”][2]/child::li[1]’).click()
#使用descendant获取当前节点的所有后代元素
browser.find_element_by_xpath(‘//span[@class=”ant-cascader-picker”]/descendant::input’).click()
#使用descendant-or-self获取当前节点的所有后代元素及当前节点
browser.find_element_by_xpath(‘//ul[@class=”ant-cascader-menu”][3]/descendant-or-self::ul/li[1]’).click()
#following:选择文本中当前节点结束标签后的所有节点
browser.find_element_by_xpath(‘//span[@class=”dept-chose-label”]/following::span[@class=”ant-select-selection__rendered”]’).click()
time.sleep(1)
#使用parent:选取当前节点的父节点
browser.find_element_by_xpath(‘//li/parent::ul[@class=”ant-select-tree”]/li[2]/span[2]’).click()
# self:选取当前节点
browser.find_element_by_xpath(‘//span[@class=”ant-select-selection__rendered”]/self::span’).click()
time.sleep(1)
# preceding-sibling:选取当前节点之前的所有同级节点
browser.find_element_by_xpath(‘//span[@class=”ant-select-search__field__mirror”]/preceding-sibling::input’).send_keys(“西安”)
browser.find_element_by_xpath(‘//span[@class=”ant-select-selection__rendered”]/self::span’).click()
#使用preceding选取文档中当前节点的开始标签之前的所有节点
browser.find_element_by_xpath(‘//preceding::i[@class=”anticon anticon-plus-circle-o”]’).click()
评论前必须登录!
注册