在Selenium中将两个字符串作为日期进行比较

时间:2017-06-19 15:34:04

标签: javascript selenium

所以我正在使用

<tr> 
    <td>storeEval</td> 
    <td>var d=new Date(); d.getDate()+'-'+((d.getMonth()+1)) 
+'-'+d.getFullYear();</td> 
    <td>date2</td> 
</tr>
<tr>
    <td>storeValue</td>
    <td>//span[@id=&quot;txtDateEnd&quot;]//input[@id=&quot;txtDateEnd_txt&quot;]</td>
    <td>Date1</td>
</tr>
<tr>
    <td>storeEval</td>
    <td>&quot;${Date1}&quot; &gt; &quot;${Date2}&quot;</td>
    <td>Test</td>
</tr>

来自Selenium IDE: How do I get today's date?

但是我想比较两个日期,其中一个日期是直接从我页面上的xpath注册的。事实是Selenium不会将这些值识别为日期格式,只是尝试将原始数字与生成器进行比较。我一直在寻找正确的语法来将这些值注册为日期而不是原始数字,这样当我比较“$ {Date1}”&gt; “$ {Date2}”将数字作为日期而不是原始数字进行比较。

1 个答案:

答案 0 :(得分:0)

正如上面显示的链接所示,我使用了新的日期&#39;迫使硒将这些变量识别为日期。此外,我设法将整个脚本恢复为单行:

<tr>
    <td>storeEval</td>
    <td>(new Date() &gt; new Date(selenium.getValue('//span[@id=&quot;txtDateEnd&quot;]//input[@id=&quot;txtDateEnd_txt&quot;]')))</td>
    <td>CouponExpired</td>
</tr>

再次感谢链接,非常感谢。