Reputation: 183
I have a xpath selector xpath=//input[@id=image]
, I want to click on this element using the keyword Execute Javascript ,please help me right the statement
I tired the statement
${Element} = Get WebElement xpath=//input[@id=image]
Execute JavaScript arguments[0].click(),${Element}
It throws an syntax error.
Upvotes: 2
Views: 22954
Reputation: 375
Use below code to click using javascript with XPath in robot framework
${ele} Get WebElement //*[text()='Logout']
Execute Javascript arguments[0].click(); ARGUMENTS ${ele}
Upvotes: 4
Reputation: 41
Following this link Is there a way to get element by XPath using JavaScript in Selenium WebDriver? I have created a keyword for clicking hidden elements. It also works for visible elements.
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();
Upvotes: 4
Reputation: 4196
Instead of finding element and then passing to JS, you can directly find element by ID and click it using JS.
Execute JavaScript document.getElementById("element-id").onclick()
Upvotes: 1