selenium元素定位之cssSelector,使用chrome浏览器的console查找元素

cssSelector简介

CSS 选择器参考手册

CSS3选择器

在CSS中,选择器是一种模式,用于选择需要添加样式的元素。

"CSS"列指示该属性是在哪个CSS版本中定义的(CSS1、CSS2还是CSS3)

selenium元素定位之cssSelector,使用chrome浏览器的console查找元素_第1张图片

更多详情,请参考 CSS 选择器参考手册

一、定位方法:

1.通过id定位    如:

driver.findElement(By.cssSelector("div#kw"));

2.通过class定位    如:

driver.findElement(By.cssSelector("input.s_ipt"));

3.通过属性定位   如:

driver.findElement(By.cssSelector("input[name=wd]"));

4.通过子元素定位 

driver.findElement(By.cssSelector("div#u_sp>a"));

与xpath不同,css中用">"右箭头代表子元素,而xpath中用的"/"单斜杠表示

5.通过后代元素定位

driver.findElement(By.cssSelector("div#u_sp a"));

与xpath不同,css中用" "空格表示后代元素,而xpath中用的"//"双斜杠表示

6.通过元素的index定位

driver.findElement(By.cssSelector("div#u_sp>a:nth-child(1)"));

与xpath不同,css中用的写法":nth-child(1)",xpath中用的写法"[1]"

7.通过兄弟元素定位

driver.findElement(By.cssSelector("span#s_kw_wrap+input"));

xpath中用的写法"//input[preceding-sibling::span[@id='s_kw_wrap']]";

需要注意的是,css的定位到是兄弟元素下面的兄弟元素,而且只是下面的第1个元素(如:span元素id为"s_kw_wrap"有很多input兄弟元素,它只定位到它下面的第1个兄弟元素);而xpath不同的是可以定位到所有兄弟元素;

二、如何查看定位的元素个数

上面讲解了css常用的定位方法,但是不能确定找出元素是唯一的,也许可能查找多个元素,Firefox可以借助FirePath插件可以快速定位,并且显示定位到的元素个数,Chrome其实也可以查看元素个数

方法:

1.打开chrome浏览器的开发者工具(F12),然后选择Console;

2.在上边可以输入要查找的元素定位,如:$('div#kw');

3.Console会输出一段脚本,点击箭头展开,里边会有一个length字段,后边的数字就代表定位到的元素个数

如下图:


selenium元素定位之cssSelector,使用chrome浏览器的console查找元素_第2张图片

或者开发者工具情况下按control+f ,把定位的路径输入到里边,也可以查看定位的元素个数

你可能感兴趣的:(selenium元素定位之cssSelector,使用chrome浏览器的console查找元素)