2012-08-06 45 views
1

我已經查看了幾十個這個問題的答案,並嘗試了所有這些問題,但是無法讓他們工作。我確定這件事很簡單,但這是我想要做的;使用Selenium IDE從字符串中提取數字

我需要從一個字符串中提取一個數值,然後比較它是否大於或等於一個數字。我正在使用Selenium IDE。

字符串很簡單XXX Total matches其中XXX是數字。我已經使用storeText存儲了該字符串,將其存儲在一個名稱足夠合適的變量String中。

然後,我運行一個echo命令來顯示「字符串」,以確保我已經得到該部分的正確性,並按預期顯示「XXX Total matches」字符串。

我曾嘗試對提取的字符串,包括正則表達式,javascript中的數字部分提到的幾種方法等

的一個「似乎」工作是storeeval | String=String.slice(0, 2); | Number,但是當我嘗試回波數,它什麼都沒顯示

我已經試過

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

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

javascript{parseInt(${String})} 

但是當我嘗試這些,我得到一個錯誤的硒IDE

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

我敢肯定,這可能是一個基本的新手的錯誤,但我可以」弄清楚我做錯了什麼。

回答

2

storeXXX結果的變量設置爲storedVars。
請嘗試以下操作。

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

除去storedVars [ '文本'] ^符號匹配(/^\ d + /)。爲我工作。 – TestingWithArif 2016-02-11 05:51:21

0

可以通過下面的代碼分割該號碼串 -

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

Result - XXX