我正在尝试将日期字符串(04.05.2012)拆分为3个子字符串,以便以后进行字符串操作。当我在常规javascript编辑器(在Eclipse中)运行以下代码时,它可以工作。换句话说,dString [2]正确返回2012。当我在Selenium IDE中运行以下代码时,它会将日期字符串拆分为9个字符,而不是所需的3个子字符串。 我需要对以下代码进行哪些更改?或者这是Selenium实施的错误......?
全部谢谢, -SAM
<tr>
<td>store</td>
<td>04.05.2012</td>
<td>flight_date</td>
</tr>
<tr>
<td>storeEval</td>
<td>dList = '${flight_date}'.split('.'); </td>
<td>dsplit1 </td>
</tr>
<tr>
<td>echo</td>
<td>${dsplit1}</td>
<td></td>
</tr>
<tr>
<td>storeEval</td>
<td>day = '${dsplit1}'[9]</td>
<td>dsplit2</td>
</tr>
<!--this returns 2-->
<tr>
<td>echo</td>
<td>${dsplit2}</td>
<td></td>
</tr>
答案 0 :(得分:1)
是否将.
视为正则表达式中的任何字符?
尝试逃避
'${flight_date}'.split('\.');
或
'${flight_date}'.split(/\./g);
答案 1 :(得分:1)
尝试
<tr>
<td>storeEval</td>
<td>day = storedVars.dsplit1[2]</td>
<td>dsplit2</td>
</tr>
而不是
<tr>
<td>storeEval</td>
<td>day = '${dsplit1}'[9]</td>
<td>dsplit2</td>
</tr>
它会给你一年(2012年)。 storedVars.dsplit1 [0]和storedVars.dsplit1 [1]会相应地给你04和05。
或者您可以使用简单的storeEval | dList[2] | dsplit2
。在这种情况下,您可以使用getEval | dList = '${flight_date}'.split('.');
代替storeEval | dList = '${flight_date}'.split('.'); | dsplit1