欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

Css选择器定位详解_html/css_WEB-ITnose

程序员文章站 2022-05-17 21:47:42
...
1.使用 class 属性来定位元素,方法如下:

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

  即可以先指定一个 HTML的标签,然后加一个“.”符号,跟上 class 属性的值

2.使用相对ID选择器定位元素,方法如下:

  WebElement ele = driver.findElement(By.cssSelector("input#username"));

  即可以先指定一个 HTML 标签,然后加上一个“#”符号,跟上 id 的属性值

3.除了 class 和 id 属性,CSS 选择器也可以使用其他的元素属性来定位。下面的例子中,将使用中的 Name 属性。

  WebElement userName =driver.findElement(By.cssSelector("input[name=username]"));

4.如果一个属性不足以来定位到一个元素, 则联合使用其他的属性来达到精确匹配。下面的例子中,使用多个属性来定位元素。

  WebElement previousButton =driver.findElement(By.cssSelector("input[type='submit'][value='Login']"));

5.CSS 选择器提供了一个部分属性值匹配定位元素的方法。这为测试那些页面上具有动态发化的属性的元素是非常有用的。例如,在 ASP.NET 应用中,元素 id 是动态生成的。下面的表格介绍了如何使用部分匹配的语法:

a.语法:^= 例子:Input[id^= ' ctrl'] 描述:如果一个元素的ID是ctrl_12,就可以定位到此元素,匹配到 id的头部 ctrl

b.语法:$= 例子:input[id$='_userName'] 描述:如果一个元素的ID 是a_1_userName,返将会匹配到 id 的尾部_userName

c.语法:*= 例子:Input[id*='userName'] 描述:如果一个元素的 ID 是 panel_login_userName_textfield,返将会匹配到此 id 值的_userName

参考网址:http://865325772.iteye.com/blog/2051668