Selenium分割日期字符串工作示例?

时间:2012-04-02 17:59:01

标签: javascript selenium

我正在尝试将日期字符串(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>

2 个答案:

答案 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