Selenium Python 中的元素方法
Selenium 是一款開源自動化測試工具,可與其他程式設計指令碼(如 Python、Java、Javascript 和 Pearl)一起使用,用於測試 Web 應用程式。它被開發人員廣泛用於自動化測試。
Selenium 的元素方法
1. send_keys() -
用於設定輸入文字框,包括編輯框、文字區域、表單內的欄位和修飾鍵。它擴充套件了 keys 類中的屬性。
返回型別 - null
2. is_selected() -
檢查元素是否被使用者選中。
返回型別 - 布林值(True 或 False)。
3. is_displayed() -
檢查元素是否對使用者可見。
返回型別 - 布林值(True 或 False)。
4. get_property() -
用於獲取元素的屬性。
返回型別 - 屬性的值。
5. is_enabled() -
用於檢查元素是否啟用。
返回型別 - 布林值(True 或 False)。
6. click() -
用於點選連結或按鈕。屬性在按鈕本身中提及。
返回型別 - 如果存在 URL,則將您定向到以按鈕元素為錨點的路徑。否則丟擲 InvalidElementException。
7. text() -
使用 Xpath 掃描程式透過部分匹配跟蹤給定輸入文字的出現。
返回型別 - 返回包含輸入文字的整行或部分文字。
8. location() -
Location 方法用於檢索可訪問搜尋欄位的位置。
返回型別 - 元素的座標或尺寸,以字典的形式表示。
9. screenshot() -
screenshot 方法允許使用者儲存當前元素的螢幕截圖。
返回型別 - 如果螢幕截圖成功,則返回 True;如果出現 IO 錯誤,則返回 False。
示例 1
以下示例說明了屬性的使用,並使用 get() 方法定向到 tutorialspoint 網站。
演算法
從 selenium 匯入所需的 webdriver 模組。
為 Windows 使用者建立使用 Chrome() 的 webdriver 物件,為 Mac 使用者建立使用 Safari() 的 webdriver 物件。
獲取要開啟的 url 並檢索資料。
可選地使用上述 selenium 方法進行高階使用。
關閉 webdriver 物件。
# import webdriver from selenium import webdriver # create webdriver object - Windows User driver = webdriver.Chrome() #create webdriver object - Mac Users #Change the settings in the Safari Develop menu to Allow Remote Automation driver = webdriver.Safari() driver.get("https://tutorialspoint.tw/") driver.close()
輸出
如果使用 Mac OS,請確保在開發選單中將設定更改為“允許遠端自動化”。
示例 2
以下示例說明了 screenshot() 的使用方法,並獲取當前元素的螢幕截圖。
演算法
從 selenium 匯入所需的 webdriver 模組。
為 Windows 使用者建立使用 Chrome() 的 webdriver 物件,為 Mac 使用者建立使用 Safari() 的 webdriver 物件。
獲取要開啟的 url 並檢索資料。
使用 element.screenshot() 並括號內指定影像要儲存的路徑。
關閉 webdriver 物件。
# import webdriver from selenium import webdriver # create webdriver object - Windows User driver = webdriver.Chrome() #create webdriver object - Mac Users #Change the settings in the Safari Develop menu to Allow Remote Automation driver = webdriver.Safari() driver.get("https://tutorialspoint.tw/") element = driver.find_element_by_class_name("header--navbar") # click screenshot element.screenshot('C:\Users\Swetha\Pictures\Screenshots\header.png') driver.close()
輸出
您可以在路徑中提到的資料夾中檢視影像。
結論
它在自動檢測使用者預定義測試的結果方面具有最大應用。簡單來說,它可以被稱為自動化測試,可以透過 Selenium webdriver 高效地完成。建立此模組的理念是在短時間內測試應用程式的 UI,以滿足客戶提出的約束條件。