如何使用 watir 获取列表标签文本

How to get list label text using watir

我正在尝试使用 WATIR 来自动测试 Web 应用程序。我的应用程序功能正常,但在登录页面上遇到困难,因为它要求两个问题以提供密码短语中的随机字符。

在下面的代码片段中,这是请求字符 8 和 1。

            <!--Deal with Passphrase Authentication-->
            <p>Enter the requested characters of your Passphrase below</p>
            <ul class="passphrase-list">
              <li>
                <label style="float:left; margin-right:10px;" for="PATHM_LTR1">Enter Letter 8</label>
                <input type="password" size="1" class="passphrase" maxlength="1" name="PATHM_LTR1" />
              </li>
              <li>
                <label style="float:left; margin-right:10px;" for="PATHM_LTR2">Enter Letter 1</label>
                <input type="password" size="1" class="passphrase" maxlength="1" name="PATHM_LTR2" />
              </li>
            </ul>

我希望检索标签文本以确定在指定密码时使用哪个字符。文本的第一部分 'Enter Letter ' 在所有情况下都是相同的,只是数字发生了变化。

如有任何帮助,我们将不胜感激。

试试这个:

require 'watir-webdriver'

browser = Watir::Browser.new
browser.goto 'http://localhost:3000'
labels = browser.labels(text: /Enter Letter \d+/)

password = "AelloworlZ"

labels.each do |label|
  md = label.text.match(/\d+/)

  if md
    number = md[0].to_i 
    #puts number
    #puts password[number-1]
    browser.text_field(name: label.for).set(password[number-1])
  end
end