机器人框架:使用执行JavaScript单击元素

时间:2018-01-10 07:05:58

标签: javascript python robotframework

我有一个xpath选择器xpath=//input[@id=image],我想使用关键字Execute Javascript点击这个元素,请帮我正确声明

我厌倦了陈述

${Element} = Get WebElement xpath=//input[@id=image]
Execute JavaScript  arguments[0].click(),${Element}

它会引发语法错误。

3 个答案:

答案 0 :(得分:2)

点击此链接Is there a way to get element by XPath using JavaScript in Selenium WebDriver? 我创建了一个用于单击隐藏元素的关键字。它也适用于可见元素。

JS Click Element
[Documentation]
...     Can be used to click hidden elements
...     Dependencies
...         SeleniumLibrary
...         String
[Arguments]     ${element_xpath}
# escape " characters of xpath
${element_xpath}=       Replace String      ${element_xpath}        \"  \\\"
Execute JavaScript  document.evaluate("${element_xpath}", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(0).click();

答案 1 :(得分:1)

您可以直接通过ID查找元素并使用JS单击它,而不是查找元素然后传递给JS。

Execute JavaScript    document.getElementById("element-id").onclick()

答案 2 :(得分:0)

在机器人框架中使用以下代码在XPath中使用javascript

${ele}    Get WebElement    //*[text()='Logout']
Execute Javascript    arguments[0].click();     ARGUMENTS    ${ele}