2010-01-31 3 views
1

смотрел через инет, а также другие ответы на здесь ..HtmlUnit Javascript вопрос

я получил то, что выглядит как следующий 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

В API-интерфейсе HtmlUnit вы можете найти ответ на свой вопрос о том, «что здесь происходит?» http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/html/HtmlPage.html#executeJavaScript(java.lang.String). В зависимости от вашего требования исходный код может отличаться. Я предполагаю, что вы пытаетесь получить значение узла multiSelect. Вопрос в том, как выглядит ваш html, а не JavaScript, и каким образом вы можете идентифицировать свой узел multiSelect (например: зная его id, зная его имя или, возможно, класс css). Подробнее о требованиях и поместите некоторые html – nemisj

ответ

2

типа следующее в вашем браузере панель навигации:

JavaScript: предупреждение ("Привет!")

Используя эту технику, вы можете выполнять команды JavaScript. Для HtmlUnit замените «что здесь происходит?» по материалам, которые вы вводите в навигационную панель без части «javascript:».

Смежные вопросы