页面元素的定位方法

  java元素定位中的写法

  使用ID定位:driver.findElement(By.id(“ID值”));

  使用name定位:driver.findElement(By.name(“name值”))

  使用链接的全部文字定位:driver.findElement(By.LinkText(“链接的全部文字”))

  使用部分链接文字定位:driver.findElement(By.partialLinkText(“链接的部分文字内容”))

  Xpath定位

  使用Xpath方式定位:driver.findElement(By.xpath(“Xpath定位表达式”))

  定位时尽量使用相对路径进行定位,绝对路径在页面做一些小改动时定位需重新编写复用性低

  Starts-with()://img[starts-with(@alt,'div1')]     查找图片alt属性开始位置包含“div1”关键字的页面元素

  Contains()://img[contains(@alt,'g1')]    查找图片alt属性包含“g1”关键字的页面元素

   通过标签的文本内容进行定位://button/span[contains(text(), "指定文本内容")]      (//路径[contains.text(),"指定文本内容"])

  使用XPath的轴(Axis)进行元素定位

  parent:选择当前节点的上层父节点  //img[@alt='div2-img2']/parent::div    查找到div2-img2的图片,并基于图片位置找到它上一级的div页面元素

  child:选择当前节点的下层子节点    //div[@id='div1']/child::img   查找到ID为div1的元素,并基本div1找到它下层节点中的img元素

  ancestor:选择当前节点的所有上层节点  //img[@alt='div2-img2']/ancestor::div     查找到div2-img2的图片,并基于图片位置找到它上级的div页面元素

  descendant:选择当前节点的所有下层节点   //img[@name='div2']/descendant::img   查找到name属性值的div页面元素,并基于div1找到它下级所有节点中的img页面元素

  following:  选择当前节点后显示的所有节点  //div[@id='div1']/following::img 查找到ID属性为div1的div页面元素,并基本div1的位置找到它后面节点中的img元素

  following-sibling:  选择当前节点的所有平级节点 //a[@href='http://www.baidu.com']/following-sibling::input  查找连接地址为http://www.baidu.com的链接页面元素,并基于链接位置找到它后续节点中的input页面元素

  preceding:  选择当前节点前面的所有节点  //img[@alt='div2-img2']/preceding::div 查找到alt属性div2-img2的图片页面元素,并基于图片位置找到它前面节点的div页面元素

  preceding-sibling:  选择当前节点前面的所有同级节点 //img[@alt='div2-img2']/preceding-sibling::a[1]  查找到alt属性为div2-img2的图片页面元素,并基于图片位置找到它前面同级节点中的第二个链接页面元素

 

  使用CSS方式定位:driver.findElement(By.cssSelector(“css定位表达式”))

  使用Class方式定位:driver.findElement(By.className(“页面元素的Class属性值”))

  使用标签名称定位:driver.finElement(By.tagName(“页面中HTML标签的名称”))

  使用JQuery方式:js.executeScript(“return JQuery.find(‘JQuery定位表达式’)”)

posted @ 2019-02-22 14:56  心生意动  阅读(369)  评论(0编辑  收藏  举报