如何使用Selenium Java web驱动程序的executeScript方法执行用户定义的JavaScript函数
这是迄今为止我使用Selenium执行函数的代码:如何使用Selenium Java web驱动程序的executeScript方法执行用户定义的JavaScript函数,java,javascript,selenium,Java,Javascript,Selenium,这是迄今为止我使用Selenium执行函数的代码: JavascriptExecutor js=(JavascriptExecutor) driver; script="startDialog('arg1','arg2');"; js.executeScript(script); 要执行的Javascript函数: $(document).ready(function() { var Btn = document.getElementById("btni
JavascriptExecutor js=(JavascriptExecutor) driver;
script="startDialog('arg1','arg2');";
js.executeScript(script);
要执行的Javascript函数:
$(document).ready(function() {
var Btn = document.getElementById("btnid");
Btn.onclick = function() {
startDialog("arg1", "arg2");
};
});
无法使用Selenium Java web驱动程序的
executeScript
函数执行startDialog
函数。startDialog在哪里定义?您引用的函数没有命名,只调用startDialog
例外情况通常是正确的。您试图调用的函数未定义。脚本必须是精确的java脚本,而不是函数名。尝试为脚本变量分配函数体,然后执行它。 像这样-
script="$(document).ready(function() {" +
"var Btn = document.getElementById('btnid');"+
"Btn.onclick = function() {" +
"startDialog('arg1', 'arg2');};});"
未定义的web驱动程序异常不是一个函数。该异常表示未定义startDialog,因此需要先定义。JavaScriptExecutor一旦找到js文件中定义的函数.startDialog,就会很好地工作