我已经查看了这个问题的几十个答案,并尝试了所有这些答案,但无法让它们中的任何一个起作用。我确信这很简单,但这就是我要做的事情;
我需要从字符串中提取数值,然后比较它以查看它是否大于或等于数字。我正在使用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
我确定这可能是一个基本的新手错误,但我无法弄清楚我做错了什么。
答案 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