博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.使用Xpath定位元素
阅读量:5088 次
发布时间:2019-06-13

本文共 1260 字,大约阅读时间需要 4 分钟。

Xpath是通过绝对路径定位元素

Xpath定位元素

1.xml路径语言:用来确定XML文档中某部分位置的语言;

2.Xpath用于在XML文档中通过元素和属性进行导航

3.Xpath是一个W3C标准

4.将html看成树形结构

表达式 结果 说明
/xxx 选取跟节点xxx  
/xxx/yyy 根据绝对路径选择元素yyy  
//xxx 整个文档扫描,找到所有xxx元素  
//xxx/yyy 所有父元素为xxx的yyy元素  
. 选取当前节点的父元素节点  
.. 选取父元素地址  
//xxx[@id] 选取所有xxx元素中有id属性的元素  
//xxx[@id=yyy] 选取所有xxx元素id属性为yyy的元素

 

 

写一个html小例子便于练习test.html

    selenium
firstname
lastname

age

b.get(r'C:\Users\asus\Desktop\sele\test.html')  #加载页面

inputs = b.find_elements_by_xpath('/html/body/form/input') #查找form下的input有两个

inputs.__len__() #2

>>> inputs[0].get_attribute('name')

'firstname'

>>> inputs[1].get_attribute('name')

'lastname'

inputs[0].send_keys('zhang')

inputs[1].send_keys('san')

看到界面

>>> inputs = b.find_elements_by_xpath('//input') #查找本页面的所有input标签
>>> inputs.__len__()
3

inputs[2].send_keys(30)#给张三输入年龄30

>>> inputs = b.find_elements_by_xpath('//input[@id]') #查找含有id属性的input

>>> inputs.__len__()
2

表达式 结果
//*[count(xxx)=2] 统计xxx元素个数=2的节点
//*[local-name()='xxx'] 找到tag为xxx的元素
//*[starts-with(loacal-name(),'x')] 找到所有tag以x开头的元素
//*[contains(loacal-name(),'x')] 找到所有tag包含x的元素
//*[string-length(loacal-name())=3] 找到所有tag长度为3的元素
//xxx|//yyy 多个路径查找
//[not(@id)]  

转载于:https://www.cnblogs.com/zhaojiaxiaomei1/p/8873037.html

你可能感兴趣的文章
转:vs发布window应用程序时出错:未能签名 ...\setup.exe
查看>>
Spring Boot @ControllerAdvice 处理全局异常,返回固定格式Json
查看>>
Android学习一(入门)
查看>>
nyoj-大小写互换
查看>>
物理层
查看>>
【bzoj2127】happiness 网络流最小割
查看>>
Windows中报错:Fatal error in launcher: Unable to create process using '"' 的解决方案
查看>>
VIM操作常用指令(转)
查看>>
在绘制的扇形里加载一张图片
查看>>
winform combobox绑定数据
查看>>
前端入门
查看>>
steps/train_lda_mllt.sh
查看>>
一些可以用到的网址
查看>>
BPM配置故事之案例7-公式计算
查看>>
003_1-当前系统语言的相关知识
查看>>
IL中间语言指令大全
查看>>
iOS面试题总结整理(附答案)
查看>>
COPY, RETAIN, ASSIGN , READONLY , READWRITE,STRONG,WEAK,NONATOMIC整理--转
查看>>
leetcode671- Second Minimum Node In a Binary Tree- easy
查看>>
LIS最长上升子序列O(nlogn)算法
查看>>