元素查找方式
1、id
document.getElementById('xxx')
2、name
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。document.getElementsByName('xxx')
3、className
document.getElementsByClassName('xxx')
4、tagName
document.getElementsByTagName('xxx')
5、linkText
- 文本(全匹配)
6、partialLinkText
- 文本(包含)
7、xpath
8、cssSelector
8.1.tagName
driver.findElement(By.cssSelector("input")
8.2.id
driver.findElement(By.cssSelector("input#username")); //html标签和#id driver.findElement(By.cssSelector("#username")); //只是#id
8.3.className
driver.findElement(By.cssSelector(".username"));
8.4.精确匹配
driver.findElement(By.cssSelector("input[name=username]")); //属性名=属性值,id,class,等都可写成这种形式 driver.findElement(By.cssSelector("img[alt]")); //存在属性。例如img元素存在alt属性 driver.findElement(By.cssSelector("input[type='submit'][value='Login']")); //多属性
8.5.模糊匹配
^= driver.findElement(By.cssSelector(Input[id ^='ctrl'])); //匹配到id头部 如ctrl_12 $= driver.findElement(By.cssSelector(Input[id $='ctrl'])); //匹配到id尾部 如a_ctrl *= driver.findElement(By.cssSelector(Input[id *= 'ctrl'])); //匹配到id中间如1_ctrl_12
8.6.查询子元素
//子元素 A>B driver.findElement(By.cssSelector("form>span>input")); //后代元素 A空格B driver.findElement(By.cssSelector("form input")) //第一个后代元素 :first-child driver.findElemet(By.cssSelector("form :first-child")) //最后一个子元素 :last-child driver.findEleme(By.cssSelector("form :last-child")) //第N个子元素 :nth-child(N) driver.findElemet(By.cssSelector("form#form :nth-child(2)"))

更多精彩