7:关联--正则,json,xpath

 

引用变量(关联的数据)不能用于断言,只能用于别的接口,断言用能搜索到的表达式就好

 

一:正则提取器配置(比较通用)--只取一个变量--取不到要注意边界

引用变量:usename

正则表达式:"username":"(.*?)",

模版:$1$

匹配数字:-1(全部) 0(随机一个)1(第一个)

缺省值:null(不存在输出)

 

引用变量:birth

正则表达式:"birth":"(.*?)",

模版:$1$

匹配数字:-1(全部) 0(随机一个)1(第一个)

缺省值:null(不存在输出)

 

-1:需要遍历usename和birth两个参数

    ForEach控制器的变量是usename

 

2:用循环控制器+计数器

 

 

一:正则提取器配置--取多个变量拼接一起

[.\s\S]+?   会过滤中间的动态值(防止正则表达式过长)

引用变量:strings

正则表达式:"username":"(.*?)"[.\s\S]+?"birth":"(.*?)"[.\s\S]+?"phone":"(.*?)"

模版:$1$$2$$3$(有几个值$几个)

匹配数字:-1(全部) 0(随机一个)1(第一个)

缺省值:null(不存在输出)

strings会输出三个变量拼接的值

 

二:json提取---(相较于正则优点:可以同时取多个值,多个值用封号隔开,缺点:配置错了不用报错,只适用于json)

1:$. 第一层数据  

$.date(第一层键为date的数据)

Result[0]={"date":"2011-08-26","datetime":"1994-07-17 01:12:49","time":"15:17:51","now":"2021-12-31 21:51:58"}

2:$..全部数据

$..date(键为date的所有数据)

Result[0]={"date":"2011-08-26","datetime":"1994-07-17 01:12:49","time":"15:17:51","now":"2021-12-31 21:51:58"}
Result[1]=2011-08-26

3:取满足条件的列表

取cname为易霞的name,cfirst,clast的字典序列

$..[?(@.cname=="易霞")].["name","cfirst","clast"]

Result[0]={"name":"Thomas Garcia","cfirst":"彭","clast":"秀英"}

4:取满足特定条件的键的值--$..[?(@.条件键=="条件值")].取键值

取cname为易霞的name的值

$..[?(@.cname=="易霞")].name

5:取多个值(封号隔开,每个变量都需要单独配置)

 

 结果:

 

三:xpath-网页(txt/html)----一定要勾选use Tidy

//*:查全部     //*/tile:查标签   

 

1:特定标签下的属性的属性值(存在多个)

//标签/@属性

 

2:特定标签下的满足条件的,属性的属性值(过滤定位成一个)

//标签[@条件属性="条件属性值"]/@属性

//meta[@name="keywords" ]/@content

 

 

 3:特定标签下的满足条件的,标签的文本

//标签[@条件属性="条件属性值"]/标签

//a[@href="/resume/manage"]/span

 

后置处理器-XPath Extractor

4:标签下面的标签用//

//div[@class="logo"]//img[@src="/static/img/logo-left.png"]/@alt

 

posted @ 2021-12-28 00:13  观呼吸  阅读(78)  评论(0)    收藏  举报