0

私はJavascriptアクションをトリガーするHtmlUnitをクリックするために使用しています:HtmlElement

currentPage = ((HtmlElement) currentPage.getByXPath("//*[contains(@onclick, 'check();')]").get(0)).click();

要素は次のとおりです。

<a href="#" onclick="check(); return false;">

返されるページはページと非常によく似ており、その要素が含まれています。同じURL、ほとんど同じHTMLですが、にいくつかの小さな違いがあり、新しいページは保存されHTMLませHtmlUnitん。HttpAnalyzerを使用してトラフィックをスニッフィングしていますが、WebclientJSを正しく処理し、適切なリクエストを送信していることがわかります。応答も正しいですが、の内容をcurrentPageファイルにダンプすると、実際のページが変更されていないことがわかります。どうすれば修正できますか?

4

1 に答える 1

0

私も同じ問題を抱えていました。私の場合は次のとおりでした。

<div id="loginButton" class="buttonOuter" onclick="this.childNodes[1].click();">
<div class="buttonInner">
<a href="#">Login</a>
</div>
<input class="loginHiddenButton" type="submit" onclick="submit_proc(false,'')">
</div>

私はこのように解決します:

HtmlPage page1 = webClient.getPage("myURI");
HtmlElement htmlElement = (HtmlElement) page1.getByXPath("loginHiddenButtonXPATH").get(0);

webClient.setJavaScriptEnabled(false);
page1 = htmlElement.click();
webClient.setJavaScriptEnabled(true);
于 2011-11-01T13:07:12.083 に答える