【问题标题】:How to make Execute JavaScript of RobotFramework's keyword return a value如何使 RobotFramework 关键字的 Execute JavaScript 返回值
【发布时间】:2020-05-21 01:44:07
【问题描述】:

如何让 RobotFramework 的 Execute JavaScript 返回值

我需要使用 javascript 代码将类元素的文本返回到 RF 中的变量。我尝试了以下代码,但得到 ${search_result} = None。它不会返回所选元素中的文本。

:FOR    ${index}                    IN RANGE                            0   23
\  ${search_result} =             Execute JavaScript                  floatMaster.querySelectorAll('#gContact_searcResultshWindow .gContactDetailClientListDiv .gContactListName')[${index}].innerText

我也在下面尝试过,但我只是得到 JavascriptException: Message: javascript error: Unexpected number

${search_result} =              Execute JavaScript                   function myFunction(${index}) {return floatMaster.querySelectorAll('#gContact_searcResultshWindow .gContactDetailClientListDiv .gContactListName')[${index}].innerText}()

for 循环的原因是 javascript 定位器有多个结果,我想确保每个结果都带有特定的文本。我在循环结束时有一个“应该包含”命令。

当我在浏览器控制台中尝试使用索引的 javascript 定位器命令时,我得到了一个很好的值。

我也知道 Execute Async JavaScript 命令,但它看起来很复杂,我不明白它是如何工作的。请有人帮忙。

【问题讨论】:

    标签: javascript robotframework


    【解决方案1】:

    试试:

    ${search_result}=    Execute JavaScript    return floatMaster.querySelectorAll('#gContact_searcResultshWindow .gContactDetailClientListDiv .gContactListName')[${index}].innerText
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      • 2020-05-09
      • 1970-01-01
      • 2018-01-17
      • 2021-09-18
      • 2015-05-01
      • 2021-08-13
      相关资源
      最近更新 更多