Java + selenium 元素定位(5)之By Xpath

        這篇關於Xpath方法的文章和以前那篇CSS的方法同樣,使用前,須要先掌握一些Xpath的相關知識。固然,網上也有各類工具能夠幫助咱們獲取到元素的Xpath,可是這並不表明着咱們就能夠不用瞭解Xpath的相關知識,畢竟依賴工具永遠沒有依賴本身來着靠譜。可是我也會介紹一下若是簡單快速的獲取元素的Xpath。java

        我嘗試過使用一些文章介紹的快速獲取Xpath的工具,可是可能由於這些工具都是依賴於瀏覽器的擴展工具,更新換代比較快,因此文章介紹的工具我並無成功找到。我在這裏要介紹的方法,不須要使用額外的工具。在以前的元素定位(1)中,我已經介紹過了使用瀏覽器的開發者工具來查看網頁的源碼,也獲取一些咱們想要的元素標籤。本章關於Xpath的獲取,咱們也是基於瀏覽器的開發者工具。根絕以前的步驟,咱們點擊知道咱們想要獲取的元素的代碼行。這時,咱們將鼠標移動到該行代碼上,點擊鼠標右鍵,選擇Copy  -->  Copy Xpath。這樣咱們就獲取到該元素的Xpath表達式了。咱們只有到任何輸入框中選擇粘貼就能夠看到Xpath表達式了。web

       例如,咱們那百度首頁舉例。仍是首頁的輸入框,這波操做以後,咱們能夠獲取到輸入框的Xpath表達式://*[@id="kw"]。因此咱們能夠直接使用By.Xpath接口方法:driver.findElement(By.xpath(".//*[@id='kw']")).sendKeys("自動化")。完整代碼展現以下chrome

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("自動化");
         driver.findElement(By.xpath(".//*[@id='su']")).click();
           
         //關閉並退出瀏覽器  
         driver.quit();  
    }
 
}

       固然,機器獲取的Xpath其實都是很死板的,而咱們在現實的運用中,由於不一樣的人的編寫習慣不一樣,其實死板的機器是很容易出問題的。因此咱們最好仍是靠本身來識別比較好。瀏覽器

相關文章
相關標籤/搜索