cssSelector定位笔记1

时间:2023-03-09 02:49:05
cssSelector定位笔记1

cssSelector定位方法:
1.使用class属性定位元素:
driver.findElement(By.cssSelector("input.login"));
即可以先指定一个html的标签,然后加上“.”符号,在加上class属性的

2.WebElement ele = driver.findElement(By.cssSelector

("input#username")); 
即可以先指定一个 HTML 标签,然后加上一个“#”符号,跟上 id 的属性

3.除了 class 和 id 属性,CSS 选择器也可以使用其他的元素属性来定位

。下面的例子中,将使用<input>中的 Name 属性。

WebElement userName =driver.findElement(By.cssSelector("input

[name=username]"));

4.如果一个属性不足以来定位到一个元素, 则联合使用其他的属性来达到

精确匹配。下面的例子中,使用多个属性来定位<input>元素。

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