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 應用程式到從網站抓取資料。
切勿忘記正確使用這些工具,並遵守您訪問的網站的服務條款。