全部产品
云市场

12.输入框输入最佳实践

更新时间:2020-03-20 16:48:40

输入框输入最佳实践

应用场景

我们对各种控件进行操作使用率最高的两个方法分别是 输入点击 ,而输入这个操作分为两种方式:对输入框输入内容和输入键盘快捷键来搭配使用。我们对控件 输入 的SDK一共有4个分别是: inputkey_sendinput_textinput_hotkeys 其中 inputinput_textinput_hotkeys 应用于 IEChromewin32Java 控件; key_send 应用于 win32 控件。我们在使用上述 输入 方法时,避免受中文法干扰,正调用SDK的 输入 方法前先将系统输入输入法切换为英文输入法。

示例:

  1. from rpa.core import *
  2. from rpa.utils import *
  3. import rpa3 as rpa # 使用V3引擎
  4. from win32con import WM_INPUTLANGCHANGEREQUEST
  5. import win32gui
  6. import win32api
  7. def start():
  8. # 打开一个网页,使用input_text方法输入文字
  9. page = rpa.ie.create("www.taobao.com")
  10. # 设置输入法为英文输入法
  11. set_English_input_method()
  12. # 对页面输入框输入文字,如:在[搜索输入框]中输入'手机'
  13. page.input_text("搜索输入框", "手机")
  14. def set_English_input_method() -> bool:
  15. """
  16. 设置当前的前景窗口输入法为英文输入法。
  17. 语言代码:
  18. 0x0804: "Chinese (Simplified) (People's Republic of China)"
  19. 0x0409: 'English (United States)'
  20. :return: 成功为True,失败为False
  21. """
  22. # 获取前景窗口句柄
  23. hwnd = win32gui.GetForegroundWindow()
  24. # 设置键盘布局为英文
  25. result = win32api.SendMessage(hwnd, WM_INPUTLANGCHANGEREQUEST, 0, 0x0409)
  26. return True if result == 0 else False

相关连接