Web自動化基礎(一)使用Selenium定位元素


  什么是元素?我們知道網頁上有什么內容顯示出來,比如一個按鈕,一個輸入框,一張圖片,都可以理解成元素,這些元素是由html代碼構成的,比如圖片可以用<img>標簽來展示,一個輸入框可以用<input>標簽來表示......

  

  如上圖的百度搜索框,通過HTML源碼,我們可以看到下圖的代碼:

  它是一個input,其中有type、class、name、id等屬性,我們可以根據這些屬性值來定位元素。

  Selenium 功能豐富的API 提供了多個定位策略如:Name、ID、CSS 選擇器、XPath 等等。selenium查找元素是通過“By”這個類指定定位方式的,首先看一下By類中的方法:

此類中有多個定位方式,比如className(java.lang.String className),這里面傳入的是頁面元素的classname屬性,我們如何知道元素的classname屬性值呢?還有xpath,我們要如何知道xpath值是多少呢?其實通過火狐瀏覽器插件:firepath和firebug可以很方便的進行元素定位。

接下來,我們通過上面百度的輸入框,來舉例Selenium的元素定位。

1.通過id定位:by.id(“kw”),然后用WebElement接收對象代碼如下:

WebElement element = driver.findElement(By.id("kw"));

2.通過classname定位:by.className(“s_ipt”),然后用WebElement接收對象代碼如下:

WebElement element = driver.findElement(By.className("s_ipt"));

3.通過name定位:by.name(“wd”),然后用WebElement接收對象代碼如下:

WebElement element = driver.findElement(By.name("wd"));

另外,還可以通過tag,link,partial link,CSS定位,JQuery,Xpath定位。

xpath定位方法也是用的最多的一個定位方式,這個可以根據xpath的規則去學習學習,同時也可以結合火狐插件工具firepath來獲取元素的xpath值,這里不再贅述。

 

以上,就是selenium定位元素的方式,下次給大家分享如何控制元素和瀏覽器。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM