赞
踩
< input>标签的作用:提示用户在这里可以输入数据,而id、maxlength、name、type这4个字段是< input>标签的属性。
< a>标签的作用是定义一个超链接。
href是< a>标签的重要属性,它的作用是指定链接的目标。
< br>标签的作用是换行。
/html/body/input,第一个斜杠“/”代表根节点,后面的斜杠“/”代表节点和节点之间的分隔符。
在Xpath定位技术中,我们把从根节点一层一层地定位到需要被定位的页面元素的方法称为绝对路径定位法。但是我们并不推荐,因为只要HTML文档的结构发生了变化,就无法定位到相应的元素,更多的是使用Xpath之相对路径定位法。
如果一个节点中含有id属性,应该选择id属性来进行定位,因为id的属性具有唯一性,可以唯一地标识该网页元素。
基本格式://任意节点[@id=‘属性值’],如表达式://a[@id=‘login_home’]
在相对路径加id属性进行定位的时候还有一种格式://*[@id属性=属性值],✳号代表的是任意节点,其含义是在HTML文档的所有节点中查找属性id等于某个值的节点。因为这个id具有唯一性,所以同样可以定位到节点。
ps:现在很少网站的a标签使用id属性了。
在节点中,如果没有id属性,就需要利用该节点的其他属性进行元素定位。如果这些属性具有唯一性,那自然也可以定位到该节点所对应的页面元素。
基本格式://任意节点[@非id的任意属性=‘属性值’],如表达式://input[@name=‘username’]
如果一个节点既没有id属性,其他属性也不具有唯一性,但该元素包含有文本信息,例如Web页面一般都包含很多链接,每个链接都包换相应的文本信息,且该文本信息具有唯一性,那么可以使用相对路径加contains(text(),")函数的方法定位到包含某文本信息的页面元素,其中单引号里面存放的就是要定位的文本信息。
基本格式://包括有文本信息的节点[contains(text(),‘文本信息’)],表达式://a[contains(text()‘期刊’)]
ps:此元素表达式还可以写成 //a[contains(.,‘期刊’)] 或者 //a[(text()=‘期刊’)]
如果一个节点既没有id属性,其他属性和属性值也不唯一,而且contain(text(),’’)函数中包括的文本信息也不唯一,那么还可以使用相对路径加非id属性加contains(text(),’’)函数的方式进行联合定位,因为三者联合在一起时可能就具有唯一性了。
基本格式://包含有文本信息的节点[@非id的任意属性=‘属性值’][contains(text(),‘文本信息’],表达式://a[@href=‘http://www.ituring.com.cn/’][contains(text),‘图灵文化’]
ps:多数情况下,即使使用了三者联合,仍然不能够准确定位到。
对于相对路径表达式,如果要手写需要分析元素所对应的HTML代码,这样会比较麻烦。但是ChroPath工具提供了自动生成相对路径表达式的功能。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。