
一xpath语法1 基本路径表达式/从根节点选取/html/body/div//从任意位置选取不考虑层级//div所有div.当前节点./span当前节点下的span..父节点..当前节点的父元素*通配符匹配任意节点//div/*div下的所有子元素选取属性//a/href所有a标签的href属性2常用谓语条件筛选[索引]选取第N个元素从1开始(//div)[1]第一个div[属性值]按属性筛选//input[idusername][contains(text(),文本)]文本包含//span[contains(text(),成功)][text()完整文本]文本完全匹配//button[text()确定][classcls]按class匹配必须是完整值//div[classheader][contains(class,cls)]class包含推荐//div[contains(class,header)][normalize-space()文本]忽略首尾空格//p[normalize-space()Hello][last()]最后一个//li[last()][position()3]前两个//li[position()3][id or class]逻辑或//input[idname or classname][idid1 and typetext]逻辑与//input[idid1 and typetext]3 轴Axes定位ancestor::所有祖先节点//span/ancestor::divdescendant::所有后代节点//div/descendant::spanfollowing-sibling::后面的兄弟节点//h1/following-sibling::ppreceding-sibling::前面的兄弟节点//h1/preceding-sibling::pparent::父节点//span/parent::divchild::子节点默认//div/child::span4常用函数text()获取文本//span/text()contains(a,b)包含判断//div[contains(id,header)]starts-with(a,b)以某值开头//input[starts-with(id,user)]ends-with(a,b)以某值结尾XPath 2.0//input[ends-with(id,name)]normalize-space()去除首尾空格normalize-space(//p/text())count()计数count(//li)5运算符二JSONPath常用语法1基本语法$根节点$.或[]子节点点表示法 / 括号表示法$.data或$[data]*通配符匹配所有$.data[*]..递归向下查找任意深度$..trackNo查找所有trackNo当前节点过滤器中使用$.data[?(.id)][索引]按索引取元素从0开始$.data[0][start:end:step]切片$.data[0:5][?()]过滤器表达式$..[?(.fileType11)]2常用过滤器?(.属性)判断属性是否存在$..[?(.imageUrl)]?(.属性值)等于$..[?(.fileType11)]?(.属性!值)不等于$..[?(.status!closed)]?(.属性值)大于$..[?(.count10)]?(.属性值)小于$..[?(.price100)]?(.属性~正则)正则匹配$..[?(.fileName~^XD.*)]?(.属性 contains 值)包含部分解析器支持$..[?(.name contains 张三)]?(.属性 in [值1,值2])在列表内$..[?(.status in [ok,done])]3常用函数部分解析器支持min()最小值$.data.min()max()最大值$.data.max()avg()平均值$.data.avg()length()长度$.data.length()异常3API的调度在影刀里面调用AP接口主要分为三步第一步导入使用的类第二步获取Token第三步使用JSON格式发送请求