【问题标题】:Execute javascript - Robot framework执行 javascript - 机器人框架
【发布时间】:2019-01-14 05:08:53
【问题描述】:

如何在机器人框架中使用execute javascript关键字在文本框中输入文本。

我尝试通过以下方式定位元素:

${get_code}  Execute Javascript  document.getElementById('code')

现在我正在尝试在上述元素中输入一个值。

【问题讨论】:

  • 您为什么要尝试使用 javascript 输入文本? SeleniumLibrary中有Input Text关键字
  • 当用户输入第 21 个字符时,文本框应该只接受 20 个字符,它应该抛出错误消息。因此,当我使用输入文本关键字时,文本框不会抛出任何错误消息,因此尝试使用执行 javascript 关键字
  • 也许你可以设置元素的值。在你的情况下Execute Javascript document.getElementById('code').value = '${text_variable}'
  • 非常感谢,我已经成功地将输入传递到使用 Execute Javascript document.getElementById('code').value = '${text_variable}' 的文本字段但仍然没有显示错误消息所以我已经连续 21 次使用“按键”事件。现在显示错误消息,所以问题是文本正在等待按键事件抛出错误消息。

标签: robotframework


【解决方案1】:

只需输入您的脚本作为关键字的参数。在你的情况下是这样的:

Execute Javascript    document.getElementById('code').value="Your Text"

有关更多信息,请参阅 documentation 或 this answer。

评论更新

请建议一种使用 for 循环迭代“Press Key”关键字的方法 让它看起来更简单

[Documentation]  Loops over values from 97 to 118
:FOR    ${ascii_code}    IN RANGE    97    119
    \    Press Key   ${code}    \\${ascii_code}

【讨论】:

  • 错误消息仅在使用“Press Key”事件时抛出,请建议一种使用 for 循环迭代“Press Key”关键字的方法,使其看起来更简单,而不是使用 20 行 Press Key $ {code} \\097,按键 ${code} \\098 等等。
猜你喜欢
  • 2015-02-18
  • 2014-03-02
  • 2012-03-26
  • 2018-06-19
  • 2018-03-22
  • 2014-04-05
  • 2019-03-21
  • 2019-11-01
  • 2017-11-19
相关资源
最近更新 更多