2010-01-31 4 views
1

regardé à travers le net, ainsi que d'autres réponses sur ici ..HtmlUnit javascript question

j'ai quelque chose qui ressemble le code HTML suivant:

var langId = '-1'; 
var demoKey = 'null'; 
var extraParams = 'null'; // only used for User Registration page 
var multiSelect = false; 

and 

function onCampusSelect_USA() { 
    if($('campusUSAIdSelect').value == ''){clearAJAXTimer();hideLayer("programUSADiv"); hideLayer("errorDiv"); hideLayer("buttonDivUS"); return; } 
    // REMOVE THIS LATER 
    clearAJAXTimer(); 
    getData(buildParms('PROGRAMSUS','US','campusId='+$('campusUSAIdSelect').value + "&institutionId=" + $('institutionUSAIdSelect').value)); 
} 

j'ai essayé ce qui suit sans chance

WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3); 
webClient.setJavaScriptEnabled(true); 
HtmlPage page = webClient.getPage("http://www.foo.com/"); 
ScriptResult scriptResult = page.executeJavaScript("${'multiSelect'}"); 
System.out.println(scriptResult.getJavaScriptResult()); 

donc .. Je suis en train de comprendre exactement ce qui devrait aller dans la ligne exécuter ..

ScriptResult scriptResult = page.executeJavaScript(what goes here??); 

quelque chose comme

document.mutliSelect.value() <<<< (which doesn;t work by the way..) 

grâce

+0

Dans l'API du HtmlUnit vous pouvez trouver la réponse à votre question sur "qu'est-ce qui se passe ici ???" http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/html/HtmlPage.html#executeJavaScript(java.lang.String). Selon vos besoins, le code source peut varier. Je suppose que vous essayez d'obtenir la valeur du noeud multiSelect. La question est de savoir à quoi ressemble votre code html, et non JavaScript et de quelle manière vous pouvez identifier votre noeud multiSelect (par exemple: en connaissant son identifiant, en connaissant son nom ou peut-être sa classe css). En dire plus sur les exigences et placer un peu de HTML – nemisj

Répondre

2

de type ce qui suit dans la barre de navigation du navigateur:

javascript: alert ("bonjour!")

En utilisant cette technique, vous pouvez exécuter des commandes JavaScript. Pour HtmlUnit, remplacer "ce qui se passe ici ??" par les choses que vous tapez dans la barre de navigation sans la partie "javascript:".