1. 程式人生 > >selenium+java如何定位元素

selenium+java如何定位元素

通過id/name/className元素定位

(以id為例,name/className是一個寫法)

  • 頁面原始碼如下

    <input id="001" class="form-control" type="text"  readonly="readonly">
    
  • java中對應程式碼
    driver.findElement(By.id("001")).click();

輸入框用sendKeys定位

  • 頁面原始碼如下

    <input id="Number" class="form-control" type="text" placeholder="請輸入編碼" value="">
    
  • java中對應程式碼
    driver.findElement(By.id("Number")).sendKeys(001);

通過linktext定位

  • 一般專門用於定位頁面上的超文字連結

    About Student

  • java中對應程式碼
    driver.findElement(By.linkText("About Student")).click();

通過xpath定位

XPath是XML Path的簡稱,由於HTML文件本身就是一個標準的XML頁面,所以我們可以使用XPath的語法來定位頁面元素。
通過FirePath進行絕對路徑定位
這裡寫圖片描述

通過css定位

tips
1. 一般不推薦使用絕對路徑的寫法,因為一旦頁面結構發生變化,該路徑也隨之失效,必須重新寫。
2. 絕對路徑以單/號表示,相對路徑則以//表示。當/出現在xpath路徑中時,則表示尋找父節點的直接子節點,當//出現在xpath路徑中時,表示尋找父節點下任意符合條件的子節點.
3. 不建議用xpath做元素定位,因為xpath做元素定位將導致指令碼執行速度大大降低。