Java+Selenium3方法篇9-findElement之By Name


本文来介绍Webdriver中元素定位方法之By name,顾名思义,就是我们想要定位的目标元素节点上,有一个name ="value"的属性,这样我们就可以通过name的value直接去找到这个元素。我们还是用百度首页搜索输入和点击提交来演示,由于搜索输入文本框有name属性,而点击提交没有name属性,所以,我们这里只有一个元素定位采用了By name。

相关脚本代码如下。

[java] view plain copy print ?
  1. package lessons;  
  2.   
  3. import java.util.concurrent.TimeUnit;  
  4.   
  5. import org.openqa.selenium.By;  
  6. import org.openqa.selenium.WebDriver;  
  7. import org.openqa.selenium.chrome.ChromeDriver;  
  8.   
  9.     
  10. public class ByClassName {    
  11.     
  12.     public static void main(String[] args) throws Exception {    
  13.             
  14.         System.setProperty("webdriver.chrome.driver"".\\Tools\\chromedriver.exe");    
  15.              
  16.         WebDriver driver = new ChromeDriver();    
  17.        
  18.         driver.manage().window().maximize();    
  19.          
  20.         driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);  
  21.             
  22.         driver.get("https://www.baidu.com");    
  23.           
  24.         driver.findElement(By.name("wd")).sendKeys("Java");  
  25.           
  26.         driver.findElement(By.id("su")).click();  
  27.     }  
  28. }  
package lessons;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

  
public class ByClassName {  
  
    public static void main(String[] args) throws Exception {  
          
        System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");  
           
        WebDriver driver = new ChromeDriver();  
     
        driver.manage().window().maximize();  
       
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
          
        driver.get("https://www.baidu.com");  
        
        driver.findElement(By.name("wd")).sendKeys("Java");
        
        driver.findElement(By.id("su")).click();
    }
}
总结:

和前面classname一样,如果目标元素节点有这个name属性,我们就采用By name,如果没有,就换成其他方法,例如id,例如XPath,一般XPath是万能的。

你可能感兴趣的:(Java+Selenium3方法篇9-findElement之By Name)