在 Selenium Python 中建立網頁元素驅動方法
什麼是 Selenium?
Selenium 是一個廣為人知的開源 web 瀏覽器自動化框架。它允許開發人員和測試人員模擬使用者在網頁上的操作,例如點選按鈕、填寫表單和在頁面之間導航,以便測試 web 應用程式或執行重複性任務。例如,這可能包括點選表單上的“提交”按鈕、點選頁面上的“下一步”按鈕等。
Selenium 支援多種程式語言,包括 Python、Java、C# 和 JavaScript。此外,它還提供各種工具和庫來與 web 瀏覽器互動,例如 Chrome、Firefox、Edge 和 Safari。
Selenium 的一些關鍵特性
跨瀏覽器相容性 - Selenium 支援多個 web 瀏覽器,允許您在不同的平臺和瀏覽器上測試您的 web 應用程式。
易於使用 - Selenium 提供了一個簡單的 API,允許您與頁面上的 web 元素互動,從而輕鬆自動化重複性任務。
可擴充套件性 - Selenium 可以透過自定義外掛和庫進行擴充套件,允許您新增新功能或自定義框架以滿足您的需求。
龐大的社群 - Selenium 擁有一個龐大而活躍的開發人員和測試人員社群,他們分享他們的知識併為框架的開發做出貢獻。
Selenium 的一些關鍵用途
自動化測試 - Selenium 可用於自動化 web 應用程式的功能和迴歸測試,允許您快速且一致地測試您的應用程式。
網頁抓取 - Selenium 可用於從網頁中提取資料,允許您收集資料以進行分析或研究。
瀏覽器自動化 - Selenium 可用於自動化 web 瀏覽器中的重複性任務,例如填寫表單或導航到特定頁面。
總的來說,Selenium 是一個功能強大且靈活的框架,用於自動化 web 瀏覽器和測試 web 應用程式。它在業界廣泛使用,並擁有強大的開發人員和測試人員社群,他們為其持續發展和改進做出貢獻。
在本文中,我們將討論如何使用 Python 建立 Selenium 網頁元素驅動方法。使用此方法,Selenium 測試指令碼能夠在網頁上建立網頁元素,然後對這些元素執行操作,例如點選它們或在其中鍵入內容。
步驟和流程
步驟 1:匯入所需的庫
在開始編寫 create_web_element 驅動方法之前,我們需要匯入必要的庫。在本例中,將使用 Selenium web 驅動程式庫和 time 庫。Selenium web 驅動程式庫用於控制 web 瀏覽器,而 time 庫用於在必要時向指令碼新增暫停。
語法
from selenium import webdriver import time
步驟 2:建立網頁元素驅動方法
現在我們已經匯入了庫,我們可以定義 create_web_element 驅動方法。此方法將接收兩個引數:web 驅動程式例項和元素識別符號。
語法
def create_web_element(driver, element_identifier)
此方法根據元素識別符號建立一個 Selenium WebElement 物件,並返回該物件。
element = None try: element = driver.find_element(*element_identifier) except: print("Element return element
該方法首先初始化一個名為 element 的空變數。一旦建立,此變數將用於儲存網頁元素物件。
然後,該方法嘗試使用 Selenium web 驅動程式提供的 find_element 方法建立網頁元素物件。find_element 方法接受兩個引數:定位機制和值。定位機制指定如何在網頁上定位網頁元素,而 value 引數是我們用來定位元素的值。
element = driver.find_element(*element_identifier)
在此驅動程式方法中,我們在 element_identifier 引數之前使用了星號 (*)。這是為了解壓縮包含 find_element 方法的定位機制和值引數的元組。
該方法還包括一個 try-except 塊。如果找不到元素,該方法會將錯誤訊息列印到控制檯並返回 None。
最後,該方法返回建立的網頁元素物件。
步驟 3:使用網頁元素驅動方法
現在我們已經定義了 create_web_element 驅動方法,讓我們看看如何使用它來建立網頁元素並在其上執行操作。在此示例中,我們將為 Google 搜尋框建立一個網頁元素,在搜尋框中鍵入查詢,然後點選搜尋按鈕。
# Create a Chrome web driver instance and navigate to Google driver=webdriver.Chrome() driver.get("https://www.google.com/") # Create the search box and search button web elements search_box = create_web_element(driver, ('name', 'q')) search_btn = create_web_element(driver, ('name', 'btnK')) # Type a query into the search box and click the search button search_box. send_keys("SeleniumWebDriver") search_btn. click() # Wait for the search results to load and then close the browser. sleep(5) driver. quit()
首先,我們建立 Chrome web 驅動程式的例項並導航到 Google。然後,我們使用 create_web_element 驅動方法建立兩個網頁元素,一個用於搜尋框,另一個用於搜尋按鈕。
然後,我們使用搜索框物件的 send_keys 方法在搜尋框中鍵入查詢。我們使用搜索按鈕物件的 click 方法點選搜尋按鈕。
最後,我們新增一個暫停以等待搜尋結果載入,然後關閉瀏覽器。
哪個 web 驅動程式命令用於檢查網頁元素的存在?
isDisplayed() 是要使用的命令。
Selenium 中的 isDisplayed 命令檢查特定元素是否存在以及它是否可見。當且僅當相關元素可見時,返回的值為真。
Selenium 中 web 驅動程式的用途是什麼?
Selenium WebDriver 是一個 web 框架,您可以使用它在多個瀏覽器中執行測試。此程式用於自動化 web 應用程式的測試,以確保它們按預期工作。在使用 Selenium WebDriver 編寫測試指令碼時,您可以選擇多種程式語言。
Selenium 中有多少種類型的 web 驅動程式?
ChromeDriver、EdgeDriver、FirefoxDriver 和 Internet Explorer Driver 是 WebDriver 介面的一些重要實現類示例。每個驅動程式類都類似於不同的瀏覽器。簡單來說,我們建立驅動程式類物件的全新例項並在其上操作。它使您能夠更有效地執行 Chrome 瀏覽器上的 Selenium 指令碼。
Selenium WebDriver 使用哪個 API?
Log4J 1 和 Log4J 2 是它們的應用程式程式設計介面。與 Log4J 2 相比,Log4J1 具有許多非常好的功能,並且使用起來也很愉快且用途廣泛。
Selenium WebDriver 的結構是什麼?
Selenium 的體系結構由五個不同的部分組成:Selenium 客戶端庫、Selenium API、JSON Wire 協議以及瀏覽器驅動程式和瀏覽器本身。Selenium 客戶端庫是使用程式設計師選擇的語言編寫的 Selenium 指令的集合,並根據 W3C Selenium 協議進行格式化。
Selenium WebDriver 使用哪種覆蓋方法?
方法覆蓋是指子類的方法名稱與其基類中相應方法的名稱相同的過程。這可以看作是一種方法,它使子類能夠提供對已包含在其超類中並由其超類定義的方法的獨特實現。
如何在 Selenium 中檢查網頁元素?
為了能夠使用 Selenium 檢查此元素,我們需要找到一種透過右鍵單擊元素並從上下文選單中選擇“檢查”選項來訪問它的方法。我們正在檢查 INPUT 型別,因為它具有 NAME 型別的屬性。NAME 具有唯一值。
最終程式,程式碼
from selenium import webdriver import time def create_web_element(driver, element_identifier): element = None try: element = driver.find_element(*element_identifier) except: print("Element not found.") return element element = driver.find_element(*element_identifier) # Create a Chrome web driver instance and navigate to Google driver = webdriver.Chrome() driver.get("https://www.google.com/") # Create the search box and search button web elements search_box = create_web_element(driver, ('name', 'q')) search_btn = create_web_element(driver, ('name', 'btnK')) # Type a query into the search box and click the search button search_box.send_keys("Selenium WebDriver") search_btn.click() # Wait for the search results to load and then close the browser time.sleep(5) driver.quit()
輸出

結論
在這篇文章中,我們將引導您完成使用 NumPy 開發通用函式的過程。我們首先了解了 NumPy 中通用函式是什麼以及擁有一個通用函式的重要性。首先,我們開發了一個簡單的 Python 函式,然後使用“numpy.frompyfunc”方法將其轉換為通用函式。之後,我們使用“numpy.vectorize”方法指定通用函式將返回的資料型別。在此過程的最後一步中,我們在一個多維陣列上使用了通用函式,然後檢查了結果資料。透過遵循這些說明,您將能夠透過開發您自己的自定義 NumPy 通用函式來提高程式碼效率。