我有以下 JavaScript 代码返回null
当通过Selenium时JavascriptExecutor
。然而,在 Firefox 开发者控制台中运行相同的代码会返回一个值。
function tmp(){
var attrb = jQuery(jQuery("[name='q']")[0]).attr('type');
if(typeof attrb !== 'undefined' && attrb !== false){
return attrb;
} else {
return '';
}
}
tmp();
下面是我的WebDriver代码,JS与上面相同:
JavascriptExecutor jsExec = (JavascriptExecutor)driver;
Object inpType =
jsExec.executeScript("function tmp(){...}tmp();");
System.out.println("Type: " + inpType);
以上输出null
而不是“文本”字符串。有任何想法吗?
你需要使用返回 tmp()代替tmp()在executeScript()方法中。
查找相关参考资料driver.executeScript() 对于简单的 javascript 返回 NullPointerException https://stackoverflow.com/questions/18520892/driver-executescript-returns-nullpointerexception-for-simple-javascript
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)