下面是我的代码,当我运行它时显示WebDriverException我想知道如何在Robot Framework中执行java脚本。这返回$(arguments [0])。data('$ {ToolTip}')。options.title代码在-java Selenium web驱动程序中运行良好。
Mouse Over ${CreateTask}
Execute JavaScript return $(arguments[0]).data('${ToolTip}').options.title
答案 0 :(得分:3)
请注意,默认情况下,代码将在。的上下文中执行 Selenium对象本身,所以这将引用Selenium对象。使用 窗口,以引用您的应用程序的窗口,例如 window.document.getElementById( '富')。
所以
Mouse Over ${CreateTask}
Execute JavaScript return window.$(arguments[0]).data('${ToolTip}').options.title
假设有一些库(最有可能是JQuery)实际上理解$ shorthand。
答案 1 :(得分:2)
arguments [0]通常是指传递给脚本的参数。 Selenium2Library的执行Javascript调用webdriver。execute_javascript并且不传递任何参数。因此,参数[0]未定义。
答案 2 :(得分:1)
使用以下选项中的任何一种方法
Execute Javascript document.getElementById('authUser').value='admin'
${ele} Get WebElement id=clearPass
Execute Javascript arguments[0].value='pass'; ARGUMENTS ${ele}
Execute Javascript alert(arguments[0]); ARGUMENTS 123
Execute Javascript document.evaluate("//*[text()='Patients']",document.body,null,9,null).singleNodeValue.click();
Execute Javascript document.querySelector('[data-bind="click: changePassword"]').click();
${ele} Get WebElement //*[text()='Logout']
Execute Javascript arguments[0].click(); ARGUMENTS ${ele}
答案 3 :(得分:0)
使用以下选项中的任何一种方法
Execute Javascript document.getElementById('authUser').value='admin'
${ele} Get WebElement id=clearPass
Execute Javascript arguments[0].value='pass'; ARGUMENTS ${ele}
Execute Javascript alert(arguments[0]); ARGUMENTS 123
#below code use xpath to click
Execute Javascript document.evaluate("//*[text()='Patients']",document.body,null,9,null).singleNodeValue.click();
#below code use CSS selector to click
Execute Javascript document.querySelector('[data-bind="click: changePassword"]').click();
#below code use xpath to click
${ele} Get WebElement //*[text()='Logout']
Execute Javascript arguments[0].click(); ARGUMENTS ${ele}