zoukankan      html  css  js  c++  java
  • selenium-webdriver八种定位元素的常用方式

             /*<div id="divId">

           <input id="userid" type="text" value="liuhaixia" title="用户名"  name="userid" class="uid">

               <input id="password" type="password" value="123456" title="密码"  name="password">

               <a href="http://192.168.66.71:8080/dss" >超链接</a>

         </div>*/

             //getTagName()获得标签名称

             //getAttribute("属性名称")获得某属性的值

      public void locateOne() throws IOException{

                      WebDriver driver = new FirefoxDriver();

                       driver.get("http://192.168.2.128:8080/selenium/index.jsp");

                       //根据id

                       System.out.println("---------1、根据id定位---------");

                       WebElement eleById = driver.findElement(By.id("userid"));

                       System.out.println(eleById.getTagName());

                       System.out.println(eleById.getAttribute("title"));

                       //根据name

                       System.out.println("---------2、根据name定位---------");

                       WebElement eleByName = driver.findElement(By.name("userid"));

                       System.out.println(eleByName.getTagName());

                       System.out.println(eleByName.getAttribute("title"));

                       //根据css

                       System.out.println("---------3、根据css定位  id---------");

                       WebElement eleByCssId = driver.findElement(By.cssSelector("#userid"));

                       System.out.println(eleByCssId.getTagName());

                       System.out.println(eleByCssId.getAttribute("title"));

                       System.out.println("---------3、根据css定位  class---------");

                       WebElement eleByCssClass = driver.findElement(By.cssSelector(".uid"));

                       System.out.println(eleByCssClass.getTagName());

                       System.out.println(eleByCssClass.getAttribute("title"));

                       //根据tagName 如果有多个tagName,则获取的为第一个

                       System.out.println("---------4、根据tagName定位---------");

                       WebElement eleByTagName = driver.findElement(By.tagName("input"));

                       System.out.println(eleByTagName.getTagName());

                       System.out.println(eleByTagName.getAttribute("title"));

                       //根据className

                       System.out.println("---------5、根据className定位---------");

                       WebElement eleByClassName = driver.findElement(By.className("uid"));

                       System.out.println(eleByClassName.getTagName());

                       System.out.println(eleByClassName.getAttribute("title"));

                       //根据linkText 直接根据 <a>标签显示的内容定位

                       System.out.println("---------6、根据linkText定位---------");

                       WebElement eleByLinkText = driver.findElement(By.linkText("超链接"));

                       System.out.println(eleByLinkText.getTagName());

                       System.out.println(eleByLinkText.getAttribute("href"));

                      

                       //根据partialLinkText 直接根据 <a>标签显示的部分内容定位

                       System.out.println("---------7、根据partialLinkText定位 是linkText的 扩展---------");

                       WebElement eleByPartialLinkText = driver.findElement(By.partialLinkText("链接"));

                       System.out.println(eleByPartialLinkText.getText());

                       System.out.println(eleByPartialLinkText.getTagName());

                       System.out.println(eleByPartialLinkText.getAttribute("href"));

                      

                       //根据xpath定位 用firebug

                     System.out.println("---------8、根据xpath定位---------");

                       WebElement eleByXpath = driver.findElement(By.xpath("/html/body/form/div/input[1]"));

                       System.out.println(eleByXpath.getText());

                       System.out.println(eleByXpath.getTagName());

                       try {

                                Thread.sleep(3000);

                       } catch (InterruptedException e) {

                                // TODO Auto-generated catch block

                                e.printStackTrace();

                       }

                       driver.quit();

             }

  • 相关阅读:
    Access 通用访问类 OleDbHelper
    让Visual Studio 也支持JS代码折叠 [ Visual Studio | #region | #endregion ]
    提高网站性能的方法
    php 正则表达式整理 归纳 重点
    C++数据结构知识点
    algorithm算法设计,数据结构基本概念之我的归纳 by whb_咸菜圣斗士啊斌斌斌斌
    浏览器兼容性问题及常见的解决方法
    js抽象方法的使用
    js制作图片轮换切换
    C语言排序算法总结
  • 原文地址:https://www.cnblogs.com/liuhaixia/p/7120498.html
Copyright © 2011-2022 走看看