1

我已经查看了这个问题的几十个答案,并尝试了所有这些答案,但无法让其中任何一个起作用。我敢肯定这是非常简单的事情,但这就是我想要做的;

我需要从字符串中提取一个数值,然后比较它是否大于或等于一个数字。我正在使用 Selenium IDE。

字符串很简单,数字XXX Total matches在哪里XXX。我已经使用 存储了这个字符串storeText,将它存储在一个适当命名的变量中,String。

然后我运行一个echo命令来显示“字符串”以确保该部分正确,并按预期显示“XXX 总匹配”字符串。

我尝试了几种提取字符串数字部分的方法,包括正则表达式、javascript等。

“似乎”工作的是storeeval | String=String.slice(0, 2); | Number,但是当我尝试回显 Number 时,它什么也没显示。

我试过了

javascript{(${String}.match(/\\d+/))}

javascript{parseInt(${String}, 10);}

javascript{parseInt(${String})}

但是当我尝试这些时,我在 selenium IDE 中遇到错误

[error] Unexpected Exception: fileName -> chrome://selenium-ide/content/selenium-core/scripts/selenium-api.js, lineNumber -> 2531

我确定这可能是一个基本的新手错误,但我无法弄清楚我做错了什么。

4

2 回答 2

2

storeXXX 结果的变量设置为 storedVars。
尝试跟随。

storeText id=numAndString text 
storeEval storedVars['text'].match(/^\d+/); num 
echo ${num}
于 2012-08-07T03:51:32.957 回答
0

您可以通过以下代码拆分该数字字符串 -

store | XXX Total matches  | string
store | 0 | delimiter
store | javascript{storedVars['string'].split('Total')[storedVars['delimiter']]} | number
echo  | ${number}

Result - XXX
于 2012-08-07T06:55:33.310 回答