【发布时间】: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 命令,但它看起来很复杂,我不明白它是如何工作的。请有人帮忙。
【问题讨论】: