例1:<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off"> 分别使用xpath、css的标签组合定位
css中#表示id,如#kw;. 表示class,如.s_ipt;可直接使用标签,无需任何标识符,如input;xpath中//表示从指定结点找,/表示从根结点找,一般格式为//指定节点标签[@属性名=‘属性值’]; css中input[id='kw'][name='wd']同xpath中的//input[@id='kw'] and [@name='wd']。
例2:如 xpath://form[@id='form']/span/input 和//form[@class='fm']/span/input 也可以用 css 实现
xpath的层级用/表示,而css的层级用>表示
例3:分别使用xpath、css定位select下拉列表
例4:这里显然就不能使用xpath的Select类和二次定位了,因为这个列表是一个ul列表而不是select列表,xpath、css定位如下所示
非select下拉列表,要先点击输入框,然后定位并点击所需选项
综上所述,以下是本人对xpath和css定位的简单比较: (1)css定位更加简洁; (2)xpath定位功能更强大(复杂的定位推荐使用xpath); (3)xpath可以使用text文本定位,css不行; (4)css相对于xpath来说效率更高。