内置应用 Chrome 的实现逻辑以及步骤脚本数据格式实例

基于 Selenium 的 Python 脚本,通过 Chrome 浏览器自动化登录 Web 资产。 对于 Web 资产的登录,主要是代填用户名和密码,可分解成以下三个动作:

  • 输入用户名
  • 输入密码
  • 点击登录按钮

由于各类验证码复杂且不统一,暂不考虑做自动化代填各类验证码。后续计划,会弹出一个自定义的输入框,让用户手动输入,再进行代填,或者在步骤脚本中做优化。

基于以上情况,创建 Web 资产需要填写对应的三个标签选择器,登录时通过 Selenium 控制 Chrome 浏览器执行以下默认动作:

  • 查找 username input标签,输入账号用户名
  • 查找 password input标签,输入账号密码
  • 查找 login 按钮,执行点击,

为了满足一些复杂的登录逻辑,还可以编写步骤脚本。 步骤脚本是 list 格式的 JSON 数据,如下所示:

[
  {
    "step": 1,
    "value": "{USERNAME}",
    "target": "name=accessKey",
    "command": "type"
  },
  {
    "step": 2,
    "value": "{SECRET}",
    "target": "name=secretKey",
    "command": "type"
  },
  {
    "step": 3,
    "value": "",
    "target": "id=do-login",
    "command": "click"
  }
]

各字段含义:

  • step 指的是执行顺序,主要是数字 Number
  • value 指的是需要输入的值
    • 使用 {USERNAME} 和 {SECRET} 指代账号中的用户名和密码
  • target 指的是使用的标签选择器
  • command 指的是执行的动作 ( type | click )
    • type 输入 value 值
    • click 点击按钮
    • select_frame 切换到 iframe 页面操作( v3.2 新增) 如果需要返回默认页, target 可设置为 “index=-1”,返回默认页面

target 标签选择器语法,参考了 Chrome 浏览器插件 Selenium IDE 导出的 side 脚本,语法类似 by_name=value,by_name 可以是:name|id|css|xpath,target 示例: name=secretKeyid=do-login

1 个赞