使用watir屏幕键盘登录自动化

时间:2016-08-24 11:58:22

标签: watir

我想知道如何通过屏幕键盘上的点击自动化。我尝试在此网站上自动登录,但我不知道如何识别这些数字并点击它们: https://bancaelectronica.evobanco.com/

1 个答案:

答案 0 :(得分:0)

如果你看一下键盘的HTML,每个键只是一个链接:

<div class="virtual_keyboard active">
  <ul>
    <li><a data-target=".activeInput" class="keypad-btn value-key" href="javascript:void(0);">3</a></li>
    <li><a data-target=".activeInput" class="keypad-btn value-key" href="javascript:void(0);">7</a></li>
    <li><a data-target=".activeInput" class="keypad-btn value-key" href="javascript:void(0);">1</a></li>
    <li><a data-target=".activeInput" class="keypad-btn value-key" href="javascript:void(0);">0</a></li>
    <li><a data-target=".activeInput" class="keypad-btn value-key" href="javascript:void(0);">4</a></li>
    <li><a data-target=".activeInput" class="keypad-btn value-key" href="javascript:void(0);">5</a></li>
    <li><a data-target=".activeInput" class="keypad-btn value-key" href="javascript:void(0);">6</a></li>
    <li><a data-target=".activeInput" class="keypad-btn value-key" href="javascript:void(0);">2</a></li>
    <li><a data-target=".activeInput" class="keypad-btn value-key" href="javascript:void(0);">8</a></li>
    <li class="correction">
      <a id="btCorrect" href="javascript:void(0);" data-target=".activeInput" class="keypad-btn delete-key">Corregir</a>
    </li>
    <li>
      <a data-target=".activeInput" class="keypad-btn value-key" href="javascript:void(0);">9</a>
    </li>
  </ul>
  <a href="javascript:void(0);" class="keypad-close">Cerrar</a>
</div>

您只需要:

  1. 点击密码字段
  2. 激活键盘
  3. 按文字点击键链接(因为它们是随机排序的)
  4. 键入&#34; 123&#34;:

    的密码示例
    browser = Watir::Browser.new :chrome
    browser.goto('https://bancaelectronica.evobanco.com/')
    
    # Activate the keyboard
    browser.text_field(id: 'cFDMTuKLOsuyeXQ').click
    
    # Wait until the keyboard appears
    virtual_keyboard = browser.div(class: 'virtual_keyboard')
    virtual_keyboard.wait_until_present
    
    # Enter the password by clicking the number links
    virtual_keyboard.link(text: '1').click
    virtual_keyboard.link(text: '2').click
    virtual_keyboard.link(text: '3').click
    

    可以对其他屏幕键盘采用相同的方法。但是,与之交互的确切元素将取决于页面的键盘实现。

相关问题