使用Selenium IDE从字符串中提取Number

时间:2012-08-06 19:36:28

标签: javascript selenium selenium-ide

我已经查看了这个问题的几十个答案,并尝试了所有这些答案,但无法让它们中的任何一个起作用。我确信这很简单,但这就是我要做的事情;

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

字符串很简单XXX Total matches,其中XXX是数字。我使用storeText存储了这个字符串,并将其存储在一个名为String的变量中。

然后我运行echo命令显示“String”以确保我的部分正确,并按预期显示“XXX Total matches”字符串。

我在提取字符串的数字部分时尝试了几种方法,包括regexp,javascript等。

“似乎”工作的是storeeval | String=String.slice(0, 2); | 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

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

2 个答案:

答案 0 :(得分:2)

storeXXX结果的变量设置为storedVars。
试着遵循。

storeText id=numAndString text 
storeEval storedVars['text'].match(/^\d+/); num 
echo ${num}

答案 1 :(得分:0)

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

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

Result - XXX