應該感謝這些 breaking changes 讓攻城獅/程序猿等眾動物有口飯吃(嗎?)
配合一些 Selenium 比較聰明的等待機制,而不要呆呆的 sleep(10000)
大概的SOP如下:
- 匯入要用的模組,例如
- from selenium import webdriver
- from selenium.webdriver.support.ui import Select
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- 設定等待秒數上限
- timeout = WebDriverWait(driver, 10)
- 使用組合拳
- timeout.until(EC.element_to_be_clickable(driver.find_element(By.ID, 'login_button'))).click()
較詳細的 api 說明可參考 python自動化測試工具selenium使用指南 ,但請忽略 find_element_by_*
沒有留言:
張貼留言