-
时间控件定位
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()
网友评论