[text()="文本"] ------------ 查找当前文本属性 ------------双引号中的文本必须和网页上的一模一样
[string()="文本"] ------------ 可以定位到父级标签 ------------双引号中的文本必须和网页上的一模一样,一般配合contains()函数使用
[contains(text(),"文本")] 或 [contains(@属性,"属性值")] --------------使用contains不需要和网页上一模一样,只需要包含部分文字
[position()=<>数字] ------------ 它是用来定位节点的位置和范围,常用于控制循环列表的项.
[last()] 或 [last()-1] 倒数第二个 ---------------- 定位最后一项
and/or/not 函数
[@属性1 and 属性2 ] [@属性1 or 属性2] [not(@属性1)] -------------注意not后面有括号
[/following-sibling::] --------------- 选取当前节点之后的所有同级节点,不包括他自己 --------注意::后面,如果你要定位a标签就写a,定位span就写span,定位全部就写, 表示任意标签
[/preceding-sibling::] ----------------- 选取当前节点之前的所有同级结点
[count(子节点标签)=<>数字] ----------------- 判断是当前结点下某种子节点的个数是否大于小于或等于某个数值 ---------注意count仅能计算下一级的节点个数
推荐阅读:
vue.js:634 [Vue warn]: Property or method "userName" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See:
状态码:415,发送HTTP请求返回415状态码的解决办法
SpringBoot 整合 webapp时 访问404的解决办法
Vue 打开页面时就加载方法,例如查询
SpringCloud怎么调用多个服务的信息
Spring整合Mybatis
SpringCloud 加入 thymleaf前端页面的方法
Controller之间的跳转
Spring AOP的实现原理
This may be the result of an unspecified view, due to default view name generation
行动消除疑虑