Python + Selenium(二)網頁元素定位(一)


元素定位是 WebDriver 很重要的部分,特別對於自動化測試來說。

要想操作元素,首先必須要找到元素。

我們做自動化測試,就是需要通過模擬手工對元素的操作來實現自動化。腳本無法做到指哪打哪,不能像手工操作那樣鼠標移過去點一下就行,畢竟代碼沒有自我辨別能力。

開發者工具

開發者工具是瀏覽器自帶的網頁調試工具,其中最好用的要數谷歌瀏覽器(Chrome)和火狐瀏覽器(Firefox)。一般通過 F12 快捷鍵就可以打開。通過此工具可以查看網頁元素來尋找可以定位的方法。

首先,我們打開百度首頁(http://www.baidu.com),在這個頁面上有搜索的輸入框、有搜索按鈕、以及圖片和各種鏈接等。

接下來,通過開發者工具來查看網頁元素。

快捷鍵F12(如果你的筆記本電腦有 Fn 鍵,需要注意可能是 Fn + F12),打開后如下圖:

在這里插入圖片描述

  1. 左上角的箭頭按鈕,用來查看元素,
  2. 點擊該按鈕后,想查看哪個元素就點哪個元素;
  3. 當你點擊想看的元素后,會自動在下方頁面結構中選中該元素;
  4. 在下方的元素結構中可以看到你選擇的元素,可以觀察其標簽名、屬性值等
  5. 在底部使用 CSS 選擇器的層級表示方式顯示的當前選擇元素的層級

我們通過上圖可以看到,頁面上得元素都是由一行行的HTML代碼組成,它們之間是有層級組織起來的,每個元素有不同的標簽名和屬性值。

HTML 簡介

HTML 稱指的是超文本標記語言 (Hyper Text Markup Language),使用標記標簽來描述網頁內容。

通常,我們把包括 尖括號、標簽名、屬性、文本 構成一個最基本的頁面元素element

WebDriver 就是通過元素的標簽名或各種屬性值來查找元素。

除此之外,HTML代碼有如下特征:

  1. 由標簽對構成
	<html></html>
	<body></body>
	<div></div>

html、div 以及上面提到的 a ,就是標簽名 tag name

  1. 標簽有各種屬性
<div id="wrapper" style="display: block;">
<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">

屬性有 id,name,class,href 等。
3. 標簽對之間有文本數據

<label class="checkbox"><input type="checkbox" name="autologin"> 三日內自動登陸</label>
<a href="http://news.baidu.com" name="tj_trnews" class="mnav">新聞</a>

在兩個標簽對之間的文字,就是這個標簽對應的文本。

思考一下,第一個例子中“三日內自動登陸”屬於哪個標簽的文本?

  1. 元素有層級關系
<div>
     <form>
           <input />
     </form>
</div>

input 為 form 元素的子元素。div 是 input 元素的 祖先元素。

了解了 開發者工具HTML 基礎 ,接下來就可以通過 Selenium 進行元素定位了。


免責聲明!

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



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