Java+Selenium3方法篇6-findElement之By XPath


前面一篇,介绍了查找元素的方法By id,这篇来介绍By XPath。在如何写XPath表达式之前,你需要对XPath有一个基本了解,关于XPath入门,你可以 点击这里

下面,通过百度首页,演示如何写百度搜索输入框和百度搜索按钮的XPath表达式。

  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. public class FirstScript {  
  10.   
  11.     public static void main(String[] args) {  
  12.           
  13.          System.setProperty("webdriver.chrome.driver"".\\Tools\\chromedriver.exe");    
  14.            
  15.          WebDriver driver = new ChromeDriver();    
  16.               
  17.          driver.manage().window().maximize();    
  18.                
  19.          driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);       
  20.           
  21.          driver.get("https://www.baidu.com");    
  22.            
  23.          driver.findElement(By.xpath(".//*[@id='kw']")).sendKeys("Java");  
  24.          driver.findElement(By.xpath(".//*[@id='su']")).click();  
  25.              
  26.          //关闭并退出浏览器    
  27.          //driver.quit();    
  28.     }  
  29.   
  30. }  
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 FirstScript {

	public static void main(String[] args) {
		
		 System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");  
         
	     WebDriver driver = new ChromeDriver();  
	        
	     driver.manage().window().maximize();  
	         
	     driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);     
	    
	     driver.get("https://www.baidu.com");  
	     
	     driver.findElement(By.xpath(".//*[@id='kw']")).sendKeys("Java");
	     driver.findElement(By.xpath(".//*[@id='su']")).click();
	       
	     //关闭并退出浏览器  
	     //driver.quit();  
	}

}
       XPath一般在实际自动化测试项目中用到比较多,虽然有8种元素定位方法,但是XPath如果写熟练了,基本上可以用XPath完成百分之95以上的元素定位。例如,在上面的两个元素,我可以用好几种XPath表达式去描述这个元素。

百度搜索输入框:

.//*/input[@id='kw']

.//*/input[@name='wd']

.//*/input[@class='s_ipt']

搜索提交按钮:

.//*/input[@id='su']

.//*/input[@value='百度一下']

.//*/input[@class='bg s_btn']

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值