Dani
Dani

Reputation: 183

Robot Framework: Click Element using Execute JavaScript

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

Answers (3)

Balaji Dinakaran
Balaji Dinakaran

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

truin
truin

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

Dinesh Pundkar
Dinesh Pundkar

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

Related Questions