2018-12-12xpath语法

语法

符号 含义
/ 绝对路径,标签之间的分隔符
// 相对路径,表示从任意位置为起始

标签名

标签名 含义
[ ] 判断条件
@属性名 取属性的值
= 判断是否相等
!= 判断是否不相等
and 多条件连接符,并且
or 多条件连接符,或者
text() 取展现文本
() 打包
contains() 包含
* 通配符,代表所有节点

xpath轴语法

符号 含义
ancestor 选取当前节点的所有先辈(父、祖父等)。
ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身。
attribute 选取当前节点的所有属性。
child 选取当前节点的所有子元素。
descendant 选取当前节点的所有后代元素(子、孙等)。
descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身。
following 选取文档中当前节点的结束标签之后的所有节点。
following-sibling 选取当前节点之后的所有同级节点。
namespace 选取当前节点的所有命名空间节点。
parent 选取当前节点的父节点。
preceding 选取文档中当前节点的开始标签之前的所有节点。
preceding-sibling 选取当前节点之前的所有同级节点。
self 选取当前节点。

样例

  • 1.定位到淘宝首页搜索输入框
    //input[@name='q' and @id='q']


    image.png
  • 2.定位淘宝首页搜索按钮
    //button[text()='搜索']


    image.png
  • 3.定位淘宝首页左侧女装超链接
    (//a[text()='女装'])[1]


    image.png
  • 4.找到element首页上边的组件超链接
    //a[contains(text(),'组件')]
    text() 原字符串
    '组件' 子串


    image.png
  • 5.找到element首页组件下边的超链接
    //h3[contains(text(),'组件')]/following-sibling::a
    轴名称::节点名字


    image.png
image.png
  • 6.定位搜索按钮
    //span[contains(text(),'搜索')]/parent::*


    tapd_搜索.png
image.png
image.png
image.png

第二种

image.png
image.png
image.png
image.png
image.png
image.png
8b5c3231aa8a61ebf50155c7c505a19.jpg
1.删除Sales表中在Customers表不存在的客户记录
select distinct CustID from Customers;
delete from Sales where CustID not in(select distinct CustID from Customers) ;

2.选择销售额最大的客户信息,包括客户名称,城市,销售ID
select max(a.Discount,b.SaleMount)
from Sales a join Customers b on a. CustID=b. CustID

Select a.Name,a.City,a.Discount,b.SaleID
From Sales a join Customers b on a. a. CustID=b. CustID
Where a.Discount,b.SaleMount=(select max(a.Discount,b.SaleMount)
from Sales a join Customers b on a. CustID=b. CustID
)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容