我有一个xpath选择器xpath=//input[@id=image]
,我想使用关键字Execute Javascript点击这个元素,请帮我正确声明
我厌倦了陈述
${Element} = Get WebElement xpath=//input[@id=image]
Execute JavaScript arguments[0].click(),${Element}
它会引发语法错误。
答案 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}