zoukankan      html  css  js  c++  java
  • 【Selenium 3+Java自动化(4)】-八种元素定位

     1 package com.mypro.jase;
     2 
     3 import org.openqa.selenium.By;
     4 import org.openqa.selenium.WebDriver;
     5 import org.openqa.selenium.WebElement;
     6 
     7 public class FindElement {
     8     WebDriver driver;
     9     String url = "http://www.baidu.com";
    10     
    11     /**
    12      * 定位元素1:findElement(By.id())
    13      */
    14     public void findById() {
    15         driver.get(url);
    16         //通过id定位百度搜索输入框,并输入“seleNium”
    17         WebElement element = driver.findElement(By.id("kw"));
    18         element.sendKeys("selenium");
    19     }
    20     
    21     /**
    22      * 元素定位2:findElement(By.name())
    23      */
    24     public void findByName() {
    25         driver.get(url);
    26         //通过name定位百度搜索输入框,并输入“java”
    27         WebElement element = driver.findElement(By.name("wd"));
    28         element.sendKeys("java");
    29     }
    30     
    31     /**
    32      * 元素定位3:findElement(By.className())
    33      */
    34     public void findByClassName() {
    35         driver.get(url);
    36         //通过className定位百度搜索输入框,并输入java
    37         WebElement element = driver.findElement(By.className("s_ipt"));
    38         element.sendKeys("java");
    39     }
    40     
    41     /**
    42      * 元素定位4:findElement(By.tagName())
    43      */
    44     public void findByTagName() {
    45         driver.get(url);
    46         //通过tagName(标签)定位百度搜索输入框,并输入“Java”
    47         WebElement element = driver.findElement(By.tagName("input"));
    48         element.sendKeys("Java");
    49     }
    50     
    51     /**
    52      * 元素定位5:findElement(By.linkText())
    53      */
    54     public void findByLinkText() {
    55         driver.get(url);
    56         //通过linkText(超链接)定位到hao123按钮,并点击;这个是精确查找
    57         WebElement element = driver.findElement(By.linkText("http://www.hao123.com"));
    58         element.click();
    59     }
    60     
    61     /**
    62      * 元素定位6:findElement(By.partialLinkText())
    63      */
    64     public void findPartailLinkText() {
    65         driver.get(url);
    66         //通过partailLinkText(超链接)定位到hao123按钮,并点击;这个是模糊查找
    67         WebElement element = driver.findElement(By.partialLinkText("ao123"));
    68         element.click();
    69     }
    70     
    71     /**
    72      * 元素定位7:findElement(By.xpath())
    73      */
    74     public void findByXpath() {
    75         driver.get(url);
    76         //通过XPath定位到百度输入框,并输入“XPath”
    77         WebElement element = driver.findElement(By.xpath(".//*[@id='kw']"));
    78         element.sendKeys("XPath");
    79     }
    80     
    81     /**
    82      * 元素定位8:findElement(By.cssSelector())
    83      */
    84     public void findByCssSelector() {
    85         driver.get(url);
    86         //通过CSS定位到百度输入框,并输入“Css_Selector”
    87         WebElement element = driver.findElement(By.cssSelector("#kw"));
    88         element.sendKeys("Css_Selector");
    89     }
    90 }

    总结:

    selenium的webdriver提供了八种基本的元素定位方法。

    1、通过id定位:findElement(By.id());
    2、通过name定位:findElement(By.name());

    3、通过class定位:findElement(By.className());
    4、通过tag定位:findElement(By.tagName());
    5、通过link定位:findElement(By.linkText());
    6、通过partialLink定位:findElement(By.partialLinkText());
    7、通过xpath定位:findElement(By.xpath());
    8、通过css定位:findElement(By.cssSelector());

     

  • 相关阅读:
    一个很好的Delphi博客
    Android开发之adb无法连接
    J2EE--常见面试题总结 -- (二)
    J2EE--常见面试题总结 -- ( 一)
    面向接口编程实现不改代码实现Redis单机/集群之间的切换
    Gradle sync failed 异常
    Dubbo+Zookeeper
    JdbcTemplate的使用
    Spring -- 配置bean
    浅析 @PathVariable 和 @RequestParam(转发,非原创)
  • 原文地址:https://www.cnblogs.com/stevenx/p/7376209.html
Copyright © 2011-2022 走看看