selenium(python)下定位單個元素的常用方法


定位單個元素的常用方法

 

以百度搜索框額面為例,藍色位置為定位到輸入框的屬性:

 

<input id="kw" class="s_ipt" autocomplete="off" maxlength="255" value="" name="wd">

 

 

 

1、       用id定位元素:find_element_by_id()

從定位到的屬性可以看到一個id屬性:id=”kw”,這里可以通過這個id屬性定位到這個元素,定位到元素后,用 send_keys()方法來輸入數據

 

 

 

2、       Name定位元素:   find_element_by_name()

由於name不是唯一的,所有用name定位時容易出錯,必須保證name是唯一時,才能用name定位。

 

3、       Class定位元素:   find_ element_ by_class_name()

 

4、       Tag定位元素:   find_element_ by_tag_name()

由於一個頁面上有很多個tag(標簽),所有一般不用標簽來定位。例如搜索框的標簽屬性為“input”,所以我們用input來定位,舉例:

 

5、       Link­定位元素:  find_element_ by_link_text()

定位超鏈接時可以用link定位,,如百度首頁上的“新聞”,

查看頁面元素:

<a class="mnav" name="tj_trnews" href="http://news.baidu.com">新聞</a>

 

從元素中可以查看到“href="http://news.baidu.com"”,說明是超鏈接,對於這種元素可以用一下方法

 

 

6、       模糊匹配方式partial_link定位元素: find_element_by_partial_link_text()

超鏈接字符串比較長時,可以通過模糊匹配來定位元素,即截取部分字符串即可,例如:

 

 

7、       Xpath定位元素:  find_element_by_xpath()

如果一個元素既沒有id,也沒有name、class等屬性,也不是超鏈接,且屬性可能還會有很多重復的元素的時候,可以用xpath定位來解決元素定位的問題。

Xpath是一種路徑語言,xpath語言另寫

 

8、       Css定位元素:  find_element_by_css_selector()

Css是另一種語法,即層疊樣式表(英文全稱:Cascading Style Sheets)是一種用來表現HTML標准通用標記語言的一個應用)或XML(標准通用標記語言的一個子集)等文件樣式的計算機語言。CSS不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化。[1] 

CSS 能夠對網頁中元素位置的排版進行像素級精確控制,支持幾乎所有的字體字號樣式,擁有對網頁對象和模型樣式編輯的能力。

 

Css比xpath更為簡潔,但是不好理解。新手建議先學如何通過工具來查看元素(通過Firepath可以查看到css定位的元素路徑)。

 

 


免責聲明!

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



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