zoukankan      html  css  js  c++  java
  • 2.selenium的定位方式

    1.selenium定位方法

    Selenium提供了8种定位方式。

    • id
    • name
    • class name
    • tag name
    • link text
    • partial link text
    • xpath
    • css selector

    这8种定位方式在Java selenium中所对应的方法为:

    • findElement(By.id())
    • findElement(By.name())
    • findElement(By.className())
    • findElement(By.tagName())
    • findElement(By.linkText())
    • findElement(By.partialLinkText())
    • findElement(By.xpath())
    • findElement(By.cssSelector())

    2.定位方法的用法

    假如我们有一个Web页面,通过chrome的开发工具查看到一个元素的属性是这样的。

     然后跟着步骤点击想要的页面元素,就会出现对应的页面元素的内容。

    我们的目的是要定位input标签的输入框。

    • 通过id定位:
      driver.findElement(By.id("kw"))
    • 通过name定位:
      driver.findElement(By.name("wd"))
    • 通过class name定位:
      driver.findElement(By.className("s_ipt"))
    • 通过tag name定位:
      driver.findElement(By.tagName("input"))
    • 通过xpath定位,xpath定位有N种写法,这里列几个常用写法:
      1. driver.findElement(By.xpath("//*[@id='kw']"))
      2. driver.findElement(By.xpath("//*[@name='wd']"))
      3. driver.findElement(By.xpath("//input[@class='s_ipt']"))
      4. driver.findElement(By.xpath("/html/body/form/span/input"))
      5. driver.findElement(By.xpath("//span[@class='soutu-btn']/input"))
      6. driver.findElement(By.xpath("//form[@id='form']/span/input"))
      7. driver.findElement(By.xpath("//input[@id='kw' and @name='wd']"))
    • 通过css定位,css定位有N种写法,这里列几个常用写法:
      1. 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") 

    接下来,我们的页面上有一组文本链接。

    1.  <a class="mnav" href="http://news.baidu.com" name="tj_trnews">新闻</a>
    2.  <a class="mnav" href="http://www.hao123.com" name="tj_trhao123">hao123</a>
    • 通过link text定位:
      1.  driver.findElement(By.linkText("新闻")
      2.  driver.findElement(By.linkText("hao123")
    • 通过partialLink text定位:
      1.  driver.findElement(By.partialLinkText("新")
      2.  driver.findElement(By.partialLinkText("hao")
      3.  driver.findElement(By.partialLinkText("123")
     
  • 相关阅读:
    Windows 服务程序(一)
    API---注册表编程
    API---文件操作
    main(argc, char *argv[])
    C 自删除技术---批处理方式
    分治法排序
    TDD尝试:nodejs单元测试
    尝试create tech team
    Yum重装走过的坑
    求生欲很强的数据库
  • 原文地址:https://www.cnblogs.com/peiminer/p/13559296.html
Copyright © 2011-2022 走看看