selenium(三) 查詢元素

2021-10-05 07:31:22 字數 924 閱讀 4052

一、查詢元素的方法:

1,根據元素的id查詢:find_element_by_id("id"):

通過元素的id查詢,username就指向了該元素。

2,通過元素的name查詢:find_element_by_name("name):

通過元素的name查詢,password就指向了該元素。

3,通過元素的xpath路徑查詢:find_element_by_xpath("xpath"):

通過元素的xpath路徑查詢,password就指向了該元素。

注:xpath路徑可以是絕對路徑(full xpath),也可以是相對路徑(xpath),那麼關於相對路徑與絕對路徑的區別是什麼,各有什麼利弊?

擴充套件:

find_element_by_id("id")

find_element_by_name("name)

find_element_by_xpath("xpath")

上面上個查詢元素的方式有對應的:

find_elements_by_id("id")

find_elements_by_name("name)

find_elements_by_xpath("xpath")

那麼加了「s」的和無「s」的有什麼區別呢?

find_element_by:只會查詢頁面中符合條件的第乙個對應的節點,若未找到則報錯。

find_elements_by:會查詢頁面中所有對應的節點,返回的是乙個列表,若未找到不會報錯,會返回乙個空列表。

若頁面中需要查詢的節點只有乙個,那麼用find_element_by即可。若頁面中有對應的多個節點,那麼該方法只會返回第乙個對應節點。

若需要查詢頁面中對應的多個節點,那麼用find_element_by。該方法會返回所有符合的節點集(列表)。

Selenium 元素定位

ui自動化中元素的定位是最最基本,但也是最讓人頭痛的地方。控制項的動態載入,屬性的動態生成抑或因為開發的懶而造成控制項的識別問題總是自動化測試的噩夢。webdriver作為主流的網頁測試工具提供了非常豐富的識別控制項的方法。這次在寫自動化庫的時候也遇到各種定位問題,著實抓狂了一陣,但最終都解決了。雖...

Selenium 元素等待

這是乙個在寫自動化指令碼時經常遇到的問題。試想這樣的乙個場景,通過指令碼開啟乙個網頁,可是由於網路的問題頁面並沒有及時載入進來,這時候如果已經執行到之後查詢元素的 那麼勢必會丟擲錯誤找不到相應元素,而事實並非如此。如果沒有合適的元素等待處理,這樣的測試 不僅不夠健壯,過多的誤報會消耗測試人員大量的精...

Selenium元素等待

一 為什麼要使用元素等待?原因 由於電腦配置或者網路原因,在查詢元素時,元素 未在第一時間內被載入出來,而丟擲未能找到元素的異常。二 什麼是元素等待?元素在第一次未找到時,元素等待設定的時長被啟用,如果在設定的有效時長內找到元素,繼續執行 如果超出設定的時長未找到元素,丟擲未找到元素異常。三 元素等...