正在评估表达式 '[<selenium.webdriver.remote.webelement.WebElement...错误



我试图验证演练弹出窗口,每次当它关闭时,我执行此关键字再次打开它,但如果我执行它几次,它失败了错误。语法是正确的,因为我能够在其他tc中执行它2-3次。谁能告诉我问题出在哪里吗?

Open Walkthrough Guide If It is Closed
${ELEMS}=    Get WebElements    ${WELCOME_POPUP}
Run Keyword If    ${ELEMS} == @{EMPTY}    Run Keywords
...    Execute Javascript    localStorage.setItem('peopleAnalyticsTourDismiss', 'false')
...    AND    Reload Page

错误代码
Evaluating expression '[<selenium.webdriver.remote.webelement.WebElement (session="461c3d8d360e2040589b1f70653b326d", element="3de37e69-02bd-4b76-8ff0-1bd652b952d7")>] == []' failed: SyntaxError: invalid syntax (<string>, line 1)

如果您想在${ELEMS}为空列表时运行关键字,我建议这样写:

Run keyword if  len($elems) == 0  ...

原因是,在表达式中${ELEMS}不是元素列表,而是元素列表的字符串表示形式。使用$elems是在表达式中使用实际对象的一种方式。

来自文档:

当变量在使用正常${variable}语法的表达式中使用时,它的值在表达式求值之前被替换。这意味着表达式中使用的值将是变量值的字符串表示形式。,而不是变量值本身

这个语法在BuiltIn库的文档中有介绍,在

表达式求值一节中

最新更新