如何使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:消息:javascript错误:意外的数字
${search_result} = Execute JavaScript function myFunction(${index}) {return floatMaster.querySelectorAll('#gContact_searcResultshWindow .gContactDetailClientListDiv .gContactListName')[${index}].innerText}()
for循环的原因是javascript定位器有多个结果,我想确保每个结果都带有特定的文本。我在循环末尾有一个“应该包含”命令。
当我尝试在浏览器控制台中使用带有索引的javascript locator命令时,得到的值就很好。
我也知道Execute Async JavaScript命令,但是它看起来很复杂,我不知道它是如何工作的。请有人帮忙。
尝试:
${search_result}= Execute JavaScript return floatMaster.querySelectorAll('#gContact_searcResultshWindow .gContactDetailClientListDiv .gContactListName')[${index}].innerText
我的天啊!有效。非常感谢@asprtrmp