如果没有值,Selenium IDE存储文本将失败

时间:2019-01-10 15:57:39

标签: selenium selenium-ide

我正在Chrome中使用Selenium IDE(最新版本为2019)。使用“存储文本”命令时,如果有一个值,它将正确存储一个值,但是当没有值时,它将无法识别该元素存在。

我的例子: 我正在尝试存储客户的电话号码(不能保证在那里)。

<tr>
  <td>Tel No</td>
  <td>
    <span>07770 123456</span>
  </td>
</tr>

Command: store text
target: xpath=//tr[td='Tel No']/td[2]/span
value: custTel

这将正确存储值。

但是如果没有电话号码:

<tr>
  <td>Tel No</td>
  <td>
    <span></span>
  </td>
</tr>

Command: store text
target: xpath=//tr[td='Tel No']/td[2]/span
value: custTel

失败,并显示以下错误: 失败:隐式等待在30000毫秒后超时

我希望它能够成功并存储一个空字符串。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

  

我希望它能够成功并存储一个空字符串

同意。 =>这是纯Selenium IDE中的错误。我在kantu store text(具有完全不同的代码库的不同开源IDE!)中测试了selenium ide,它可以按预期工作:

  • storetext返回电话号码(如果有)
  • 如果没有数字,
  • storetext返回“”

json macro code(table.html包含您的演示):

{
  "Name": "Untitled",
  "CreationDate": "2019-1-10",
  "Commands": [
    {
      "Command": "open",
      "Target": "file:///c:/test/table.html",
      "Value": ""
    },
    {
      "Command": "storeText",
      "Target": "/html/body/table/tbody/tr/td[2]/span",
      "Value": "v1"
    },
    {
      "Command": "echo",
      "Target": "v1=${v1}",
      "Value": ""
    }
  ]
}