【发布时间】:2017-08-19 02:54:38
【问题描述】:
任何想法如何用HtmlUnit点击这个“图像”?
<a href="play.php?choose=2">
<div id="champbox" style="background-image: url(http:xxx.jpg);float:right;"></div></a>
尝试使用 HtmlAnchor 和 Xpath 来单击它,但出现如下错误:
java.lang.NullPointerException
或
com.gargoylesoftware.htmlunit.ElementNotFoundException: elementName=[a] attributeName=[href] attributeValue=[play.php?choose=2]
这里是重现问题的所有部分:
您不需要帐户。
我的代码:
//Webclient Options
final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_45);
webClient.getOptions().setRedirectEnabled(true);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setCssEnabled(false);
webClient.getOptions().setUseInsecureSSL(true);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getCookieManager().setCookiesEnabled(false);
webClient.getOptions().setJavaScriptEnabled(true);
java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(Level.OFF);
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");
// Cut out the Login (better Overview)
HtmlAnchor anchor = page2.getAnchorByHref("play.php");
HtmlPage page3 = anchor.click();
System.out.println(page3.getTitleText());
System.out.println(page3.getUrl());
//To-Do: Click left or right Picture
/*
HtmlAnchor a1 = page3.getAnchorByHref("play.php?choose=2");
System.out.println(a1.asXml());
HtmlAnchor a2 = page3.getFirstByXPath("//a[@href='play.php?choose=2']");
System.out.println(a2.asXml());
a1.click();
a2.click();
*/
/*
ScriptResult result = page3.executeJavaScript("vapi-client.js:41");
result.getJavaScriptResult();
System.out.println("result: "+ result);
*/
更新:遇到新问题:
在访问之前检查您的浏览器..
试着弄清楚这个;)
【问题讨论】:
标签: java html xpath href htmlunit