我一直在尝试从 HTML 页面中提取一个数字,这个数字是一个月,需要有 2 个整数。我经常得到 2 而不是 02。我正在寻求帮助以找到一种方法来验证它是否是 2 位数字,如果不是则添加 0。
变量名:${ExpiryMonth}
当前拉取值为 2 的值为 02 如果值为 12 则希望它进行验证和批准。
我一直在尝试从 HTML 页面中提取一个数字,这个数字是一个月,需要有 2 个整数。我经常得到 2 而不是 02。我正在寻求帮助以找到一种方法来验证它是否是 2 位数字,如果不是则添加 0。
变量名:${ExpiryMonth}
当前拉取值为 2 的值为 02 如果值为 12 则希望它进行验证和批准。
我认为您可以使用正则表达式进行验证。对于寻找两位数的情况,您将使用regexp:[0-9][0-9]
现在我还不习惯使用 Selenium 变量,因此您可能正在寻找另一种语法,但以下内容可以验证正则表达式是否有效。第一个verifyEval
将通过,第二个将失败:
<tr> <td>store</td> <td>02</td> <td>twodigits</td> </tr> <tr> <td>verifyEval</td> <td>storedVars['twodigits']</td> <td>regexp:[0-9][0-9]</td> </tr> <tr> <td>store</td> <td>2</td> <td>onedigit</td> </tr> <tr> <td>verifyEval</td> <td>storedVars['onedigit']</td> <td>regexp:[0-9][0-9]</td> </tr>
上面的语法略有错误,更好的匹配方法如下
verifyEval | twodigit | ^[0-9]{2}$
和
verifyEval | onedigit | ^[0-9]$
说明:^
开头的 表示它必须以数字 0-9 开头。最后$
的 表示它后面不能有任何东西。
regex:[0-9]
将传递包含一个(或多个)数字的任何字符串 - 例如xsdkjabfijewqbrjewbrew324sakfdbsa
同样[0-9][0-9] or [0-9]{2}
会传递任何带有 2 位数字的字符串。