-
-
【Selenium专题】元素定位
1、通过id获取元素的
driver.findElement(By.id("kw"));
2、通过name的值
driver.findElement(By.name("wd"));
3、通过标签的名称,获取元素
List<WebElement> listElements = driver.findElements(By.tagName("input"));
4、通过超链接的名称,获取元素
driver.findElement(By.linkText("视频"));
5、通过超链接的名称模糊匹配,获取元素
driver.findElement(By.partialLinkText("新"));
6、通过标签的样式名称,获取元素,有可能存在多个元素存在的情况
driver.findElement(By.className("s_ipt"));
7、通过 cssSelector
7.1根据tagName-语法:driver.findElement(By.cssSelector("标签名称"));
driver.findElement(By.cssSelector("input"));
7.2根据ID
// 单一的id :
driver.findElement(By.cssSelector("#id")); 只是#id
driver.findElement(By.cssSelector("#kw"));
//标签+id:driver.findElement(By.cssSelector("input#username"));html标签和#id
driver.findElement(By.cssSelector("input#kw"));
7.3-根据className(根据样式名称)
/单一class:driver.findElement(By.cssSelector(".username"));.class
driver.findElement(By.cssSelector(".s_ipt"));
// 多个:class:driver.findElement(By.cssSelector(".s_ipt.**.***"));
driver.findElement(By.cssSelector(".bg.s_btn"));
//标签+样式名称:driver.findElement(By.cssSelector("标签名称.className"));
driver.findElement(By.cssSelector("input.s_ipt"));
7.4.根据元素属性
//单个元素属性: driver.findElement(By.cssSelector("标签名[属性名称1]=属性值1")
driver.findElement(By.cssSelector("input[id=kw]"));
//多个元素属性:[C] driver.findElement(By.cssSelector("input[type='submit'][value='Login']"));多属性
driver.findElement(By.cssSelector("input[id='kw'][name='wd']"));
//判断某个元素是否有该元素属性,判断input有autocomplete属性的input标签
driver.findElement(By.cssSelector("input[autocomplete]"));