快速入門

第一個最簡單的範例

建立一個檔案,檔名叫 python_org_search.py

# python_org_search.py
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome("./chromedriver")
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()

執行測試程式

pip install selenium
python python_org_search.py

詳細解說

Step1: 匯入模組

  • webdriver 可模擬人操作瀏覽器,支援 Firefox, Chrome, IE 等各類型的瀏覽器。
  • Keys 類別,提供了模擬鍵盤操作行為 (e.g. RETURN, F1, ALT)
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

Step2: 建立 webdriver 的 instance

driver = webdriver.Chrome("./chromedriver")

Step3: 前往給定的 URL 網頁

driver.get 方法的用途是前往給定的 URL 網頁

driver.get("http://www.python.org")

Step4: 斷言 - 確認標題中包含 Python

在程式設計中,斷言(assertion)是一種放在程式中的一階邏輯(如一個結果為真或是假的邏輯判斷式),目的是為了標示與驗證程式開發者預期的結果-當程式執行到斷言的位置時,對應的斷言應該為真。若斷言不為真時,程式會中止執行,並給出錯誤訊息。 資料來源: Wiki

assert "Python" in driver.title

Step5: 查找元素

elem = driver.find_element_by_name("q")

Step6: 執行模擬鍵盤的送出行為 + 提交頁面

elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)

Step7: 斷言

提交頁面後,如果有的話應該得到結果。為了確保找到一些結果,請聲明:

assert "No results found." not in driver.page_source

Step8: 關閉瀏覽器視窗

你也可以使用 quit() 替代 close()

driver.close()

results matching ""

    No results matching ""