2010-01-31 55 views
1

通過「網,以及在這裏的其他答覆看着..的JavaScript的HtmlUnit問題

我已經得到的東西,看起來像下面的HTML:

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)); 
} 

我試過以下沒有運氣

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()); 

所以...我試圖找出正是應在執行行去..

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

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

感謝

以下到您的瀏覽器導航欄
+0

在HtmlUnit的API中,您可以找到關於「這裏有什麼?」的問題的答案。 http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/html/HtmlPage.html#executeJavaScript(java.lang.String)。根據您的要求,sourceCode可能會有所不同。我假設你嘗試獲取multiSelect節點的值。問題是,你的html是怎麼樣的,而不是JavaScript,以及你能以哪種方式識別你的multiSelect節點(例如:知道它是id,知道它的名字或css類)。 詳細瞭解需求並放置一些html – nemisj 2010-02-01 16:30:18

回答

2

類型:

的javascript:警報( 「你好!」)

使用這種技術,可以執行JavaScript命令。對於HtmlUnit,將「這裏發生了什麼?」通過你可以輸入導航欄的東西,而不需要「javascript:」部分。