【问题标题】:htmlunit javascript questionhtmlunit javascript问题
【发布时间】:2010-10-17 20:04:47
【问题描述】:

浏览了'网络,以及这里的其他回复..

我有一些类似于以下 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..)

谢谢

【问题讨论】:

  • 在 HtmlUnit 的 API 中,您可以找到关于“这里发生了什么???”的问题的答案htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/…。根据您的要求,源代码可能会有所不同。我假设您尝试获取 multiSelect 节点的值。问题是,您的 html 看起来如何,而不是 JavaScript,以及您可以通过哪种方式识别您的 multiSelect 节点(例如:通过知道它的 id、知道它的名称或者可能是 css 类)。详细说明需求并放置一些 html

标签: javascript htmlunit


【解决方案1】:

在浏览器导航栏中输入以下内容:

javascript:alert("你好!")

使用这种技术,您可以执行 JavaScript 命令。对于 HtmlUnit,替换“这里发生了什么??”通过您将在没有“javascript:”部分的情况下在导航栏中键入的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 2014-10-27
    • 1970-01-01
    • 2015-11-07
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    相关资源
    最近更新 更多