I have the following JavaScript code returning null when ran through Selenium JavascriptExecutor. However, the same code when ran in Firefox developer console returned a value.

function tmp(){
    var attrb = jQuery(jQuery("[name='q']")[0]).attr('type');
    if(typeof attrb !== 'undefined' && attrb !== false){
        return attrb;
    } else {
        return '';
    }
}

tmp();

The below is my WebDriver code with the JS the same as above:

JavascriptExecutor jsExec = (JavascriptExecutor)driver;
Object inpType = 
       jsExec.executeScript("function tmp(){...}tmp();");
System.out.println("Type: " + inpType);

Above outputs null instead of "text" string. Any ideas?

Edit
Report