控件定位的一些问题

  1. 时间控件定位
    JS移除readonly属性(removeAttribute('readonlys'))
    执行JS
    消除数据(clear())
    设置数据(send_keys())

  2. web弹窗定位

  3. 如何保证定位成功率:
    隐性等待:页面完全加载完成执行下一部(左上角不再转圈)
    合理方式:检查元素是否加载到
    显性等待:WebDriverWait(driver,15,0.5) # 15(最大时间),0.5(元素检测时间)

  4. 浏览器句柄:标签/窗口
    driver.switch_to.alert

  5. 验证码问题解决思路

  • 识别:调用免费的ocr api
  • 万能验证码:开发配合配置
  • debug:手工输入后再执行,这种方式无法CI
  • 数据库中查询:后台生成的验证码、Redis(自动维护过期时间)、图片验证码也是字符串的一种

6.下拉框和滚动条定位
使用JS定位

js = "Window.ScrollTo(1000,1000);"
driver.execute_script(js)
  1. 上传文件定位
    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()

你可能感兴趣的:(控件定位的一些问题)