用 Selenium 獲取網站標籤: 結合 Python 的簡單操作流程
Selenium 是一個自動化測試工具。它可以在瀏覽器中模擬人類操作,可用於測試網站或應用程式。
Selenium 可以支援多種瀏覽器,包括 Chrome、Firefox、Safari 和 Internet Explorer。
它還支援多種程式語言,例如 Python、Java、C# 和 Ruby
它可以讓您撰寫腳本,在瀏覽器中模擬使用者的操作,例如點擊鏈結、輸入文字或提交表單。
您可以使用 Selenium 建立回測腳本,以驗證您的網站或應用程式是否正常運作。
Selenium 主要分為三個部分:
- Selenium WebDriver:這是一個 API,可以讓您與瀏覽器進行互動。它支援多種瀏覽器,並可以在多種程式語言中使用。
- Selenium IDE:這是一個 Firefox 擴充套件,可以讓您在 Firefox 中直接建立和執行測試腳本。
- Selenium Grid:這是一個工具,可以讓您在多台電腦上執行測試,以支援分散式測試。
Selenium 是非常實用的測試工具,可以幫助您確保您的網站或應用程式能夠正常運作。
如何安裝 selenium 套件
可以使用 pip 安裝 Selenium 套件。pip 是 Python 的套件管理工具,可以輕鬆安裝和管理 Python 套件。
要安裝 Selenium,請在命令提示字元中輸入以下命令:
pip install selenium
這會安裝 Selenium 套件和所有的相依套件。
如果您希望安裝特定版本的 Selenium,可以使用以下命令:
pip install selenium==3.141.0
在上面的命令中,3.141.0 是 Selenium 的版本號碼。
您可以在 https://pypi.org/project/selenium/ 上查看最新版本的 Selenium。
在安裝 Selenium 之前,請確保您已安裝 Python 和 pip。
如果您還沒有安裝這些軟體,可以在 https://www.python.org/ 上下載並安裝 Python,pip 會隨 Python 一起安裝
如何安裝ChromeDriver
要使用 Selenium 在 Chrome 中執行測試,您需要先安裝 ChromeDriver。
有幾種方法可以安裝 ChromeDriver:
下載安裝檔並手動安裝:您可以在 https://chromedriver.chromium.org/downloads 上下載 ChromeDriver 的安裝檔,
並使用適當的軟體(例如 WinZip 或 7-Zip)解壓縮安裝檔。
解壓縮後,您可以在命令提示字元中執行安裝程式,或者直接將 ChromeDriver 目錄加入系統路徑中。
使用 pip 安裝:如果您已經安裝了 pip,您可以使用以下命令安裝 ChromeDriver:
pip install chromedriver-binary
這會安裝並設定 ChromeDriver 的系統路徑,以便您可以在 Python 程式中使用它。
使用軟體管理工具安裝:如果您使用的是 Linux 或 macOS 系統,您可以使用軟體管理工具(例如 apt 或 brew)安裝 ChromeDriver。
例如,您可以使用以下命令在 Ubuntu 中安裝 ChromeDriver:
sudo apt install chromium-chromedriver
在 macOS 中,您可以使用以下命令安裝 ChromeDriver:
brew cask install chromedriver
Selenium 獲取網站標籤
Chrome
以下是一個使用 Selenium WebDriver 在 Python 中測試 Google 搜尋功能的範例,並且使用的是 chrome 瀏覽器
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 建立 Chrome 瀏覽器物件
driver = webdriver.Chrome()
# 使用瀏覽器物件前往 Google 首頁
driver.get("http://www.google.com")
# 找到搜尋欄位元素並輸入搜尋字串
search_box = driver.find_element_by_name("q")
search_box.send_keys("Selenium WebDriver")
# 送出搜尋
search_box.send_keys(Keys.RETURN)
# 等待瀏覽器載入完成
driver.implicitly_wait(10)
# 檢查是否出現 "Selenium WebDriver" 這個字串
assert "Selenium WebDriver" in driver.title
# 關閉瀏覽器
driver.close()
首先,程式碼使用 webdriver.Chrome()
建立了 Chrome 瀏覽器物件,並使用 driver.get()
方法前往 Google 首頁。
接下來,程式碼使用 driver.find_element_by_name("q")
找到搜尋欄位元素,
並使用 search_box.send_keys("Selenium WebDriver")
在搜尋欄位中輸入搜尋字串,
隨後使用 search_box.send_keys(Keys.RETURN)
送出搜尋。
接著,程式碼使用 driver.implicitly_wait(10)
等待瀏覽器載入完成。
最後,程式碼使用 assert "Selenium WebDriver" in driver.title
來檢查是否出現 “Selenium WebDriver” 這個字串
,如果斷言成功,則表示測試通過。
之後再使用 driver.close()
關閉 Chrome 瀏覽器。
Firefox
以下是一個使用 Selenium WebDriver 在 Python 中測試 Google 搜尋功能的範例,並且使用的是 Firefox 瀏覽器:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 建立 Firefox 瀏覽器物件
driver = webdriver.Firefox()
# 使用瀏覽器物件前往 Google 首頁
driver.get("http://www.google.com")
# 找到搜尋欄位元素並輸入搜尋字串
search_box = driver.find_element_by_name("q")
search_box.send_keys("Selenium WebDriver")
# 送出搜尋
search_box.send_keys(Keys.RETURN)
# 等待瀏覽器載入完成
driver.implicitly_wait(10)
# 檢查是否出現 "Selenium WebDriver" 這個字串
assert "Selenium WebDriver" in driver.title
# 關閉瀏覽器
driver.close()
程式碼使用 driver.find_element_by_name("q")
找到搜尋欄位元素,
並使用 search_box.send_keys("Selenium WebDriver")
在搜尋欄位中輸入搜尋字串,
隨後使用 search_box.send_keys(Keys.RETURN)
送出搜尋。
接著,程式碼使用 driver.implicitly_wait(10)
等待瀏覽器載入完成。
最後,程式碼使用 assert "Selenium WebDriver" in driver.title
來檢查是否出現 “Selenium WebDriver” 這個字串,
如果斷言成功,則表示測試通過。
之後再使用 driver.close()
關閉 Firefox 瀏覽器