Selenium Python 中定位多個元素


Selenium 是一種用於遠端操作 Web 瀏覽器的有效工具。在自動化 Web 應用程式進行測試時,它非常有效。在網頁上查詢專案是 Selenium 的一項關鍵功能。在本課程中,我們將重點介紹如何使用 Python 查詢多個 Selenium 元素。

Selenium 簡介

Selenium 是一款知名的開源 Web 自動化工具。它為程式設計師提供了一種使用多種語言(包括 Python、Java、C# 等)編寫指令碼的方法。使用 Selenium,您可以自動化任何與瀏覽器相關的操作,包括點選、輸入、選擇和導航。

Selenium 設定

在我們開始查詢元素之前,務必確保 Selenium 已正確配置並準備就緒。以下是如何使用 pip 進行設定。

pip install selenium

由於 Selenium 自動化並管理 Web 瀏覽器的活動,因此您必須下載與您的瀏覽器相關的驅動程式。例如,如果您使用 Chrome,請從 Selenium 官方網站下載 ChromeDriver。

在 Selenium 中定位元素

為了與網頁互動,我們首先需要找到該元素。Selenium 提供了許多查詢元素的方法,例如按 ID、名稱、類名、連結文字等。

當我們需要與多個元素互動或從多個元件中提取資訊時,Selenium 提供了查詢多個元素的方法。

定位多個元素

Selenium 提供了許多查詢多個元素的方法,例如:

  • find_elements_by_name

  • find_elements_by_id

  • find_elements_by_xpath

  • find_elements_by_link_text

  • find_elements_by_partial_link_text

  • find_elements_by_tag_name

  • find_elements_by_class_name

  • find_elements_by_css_selector

示例 1:Find_elements_by_class_name

此函式返回與類名匹配的元素列表。如果沒有任何元素的類屬性與指定的名稱匹配,則會丟擲 NoSuchElementException。

from selenium import webdriver

driver = webdriver.Chrome('path_to_chromedriver')
driver.get('https://www.website.com')

elements = driver.find_elements_by_class_name('class_name')

for element in elements:
    print(element.text)

示例 2:Find_elements_by_tag_name

當我們希望從具有相似含義的標籤中提取資訊時,我們會使用此函式。例如,我們可以從網站上的每個段落標籤中收集資料。

from selenium import webdriver

driver = webdriver.Chrome('path_to_chromedriver')
driver.get('https://www.website.com')

elements = driver.find_elements_by_tag_name('p')

for element in elements:
   print(element.text)

示例 3:Find_elements_by_xpath

XPath 是一種用於遍歷 XML 文件的語言。它提供了許多選擇元素的方法,例如按 ID、名稱等。

from selenium import webdriver

driver = webdriver.Chrome('path_to_chromedriver')
driver.get('https://www.website.com')

elements = driver.find_elements_by_xpath('//div[@class="class_name"]')

for element in elements:
    print(element.text)

結論

本文介紹瞭如何使用 Python 的 Selenium 框架查詢多個元素。Selenium 是一款非常靈活且強大的工具,用於處理 Web 元素。它使得在 Web 瀏覽器中自動化幾乎任何操作成為可能,用於各種任務,從測試 Web 應用程式到從網站抓取資料。

切勿忘記正確使用這些工具,並遵守您訪問的網站的服務條款。

更新於: 2023年7月18日

372 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告