時間控件定位
JS移除readonly屬性(removeAttribute('readonlys'))
執行JS
消除數據(clear())
設置數據(send_keys())web彈窗定位
如何保證定位成功率:
隱性等待:頁面完全加載完成執行下一部(左上角不再轉圈)
合理方式:檢查元素是否加載到
顯性等待:WebDriverWait(driver,15,0.5) # 15(最大時間),0.5(元素檢測時間)瀏覽器句柄:標簽/窗口
driver.switch_to.alert驗證碼問題解決思路
- 識別:調用免費的ocr api
- 萬能驗證碼:開發配合配置
- debug:手工輸入后再執行,這種方式無法CI
- 數據庫中查詢:后臺生成的驗證碼、Redis(自動維護過期時間)、圖片驗證碼也是字符串的一種
6.下拉框和滾動條定位
使用JS定位
js = "Window.ScrollTo(1000,1000);"
driver.execute_script(js)
- 上傳文件定位
python 中可以通過 pywinauto 模塊來進行操作。
文件路徑填寫
文件名填寫
點擊打開
import pywinauto
from pywinauto.keyboard import send_keys
# 使用pywinauto來選擇文件
app = pywinauto.Desktop()
# 選擇文件上傳的窗口
dlg = app["打開"]
# 選擇文件地址輸入框,點擊激活
dlg["Toolbar3"].click()
# 鍵盤輸入上傳文件的路徑
send_keys("C:\課件\images")
# 鍵盤輸入回車,打開該路徑
send_keys("{VK_RETURN}")
# 選中文件名輸入框,輸入文件名
dlg["文件名(&N):Edit"].type_keys("9.png")
# 點擊打開
dlg["打開(&O)"].click()