Selenium自动化测试之元素定位

时间:2021-08-20 07:46:20

步骤:

1.通过前端工具,查看元素的属性

2.通过属性定位

  • id
    driver.findElement(By.id("kw"))
  • name
    driver.findElement(By.name("wd"))
  • classname 类名
    driver.findElement(By.className("s_ipt"))
  • tagname 标签名
    driver.findElement(By.tagName("input"))
  • linktext 链接文字
    driver.findElement(By.linkText("新闻"))
  • partiallinktext 部分链接文字
    driver.findElement(By.partialLinkText("闻"))
  • xpath
    • //子孙级
    • /子级
    • [@属性='']
    • 例如
      driver.findElement(By.xpath("//*[@id='kw']"))
      driver.findElement(By.xpath("//*[@name='wd']"))
      driver.findElement(By.xpath("//input[@class='s_ipt']"))
      driver.findElement(By.xpath("/html/body/form/span/input"))
      driver.findElement(By.xpath("//span[@class='soutu-btn']/input"))
      driver.findElement(By.xpath("//form[@id='form']/span/input"))
      driver.findElement(By.xpath("//input[@id='kw' and @name='wd']"))
  • css
    • # id选择器
    • . 类选择器
    • 空格 > + 派生选择器
      • 空格 后代
      • > 子元素
      • + 相邻兄弟
    • [] 属性选择器
    • : 伪
    • 例如
      driver.findElement(By.cssSelector("#kw")
      driver.findElement(By.cssSelector("[name=wd]")
      driver.findElement(By.cssSelector(".s_ipt")
      driver.findElement(By.cssSelector("html > body > form > span > input")
      driver.findElement(By.cssSelector("span.soutu-btn> input#kw")
      driver.findElement(By.cssSelector("form#form > span > input")