我正在尝试使用带有XPath和regex的“store”命令将一个位于<pre>
- 节点的6位序列分配给变量,但我的方法出了点问题。
来自<pre>
的示例文字:
"OPERACIA, KOD PODTVERZDENIA 021477"
命令:
store(//table[@id='sms_table']/tbody/tr/td/pre[matches(text(),'[0-9]{6}')], foo)
答案 0 :(得分:4)
首先要注意的是,您应该使用storeText,而不是存储。商店只会记录您在目标字段中放置的内容,它不会在页面上查找定位器。此外,你完成正则表达式的方式([0-9] {6})不会给你你需要的东西。这将寻找0-9之后的数字,然后是6位数。
我最近不得不做同样的事情,我做的方式是将它分成2个命令,而不是试图一次性处理它。所以第一个命令,存储完整的东西,第二个命令,正则表达式拉出6位数。如下所示
<tr>
<td>storeText</td>
<td>//table[@id='sms_table']/tbody/tr/td/pre</td>
<td>Text</td>
</tr>
<tr>
<td>storeEval</td>
<td>storedVars['Text'].match(/\d{6}/)</td>
<td>digits</td>
</tr>