gpt4 book ai didi

java - HtmlUnit 2.9 jar 执行 JavaScript

转载 作者:行者123 更新时间:2023-11-29 18:29:01 27 4
gpt4 key购买 nike

我正在尝试这段代码:

import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.JavaScriptPage;
import com.gargoylesoftware.htmlunit.ScriptResult;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.WebRequest;
import com.gargoylesoftware.htmlunit.WebResponse;
import com.gargoylesoftware.htmlunit.WebWindow;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine;
import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLScriptElement;
import java.net.URL;
import java.util.List;

public class Example {

public static void main(String[] args) throws Exception {

WebClient webClient = new WebClient(BrowserVersion.INTERNET_EXPLORER_6);
URL url=new URL("http://www.google.com");
WebRequest request= new WebRequest(url);
WebResponse response=new WebResponse(null, request, 6000);
webClient.setJavaScriptEnabled(true);
webClient.setThrowExceptionOnScriptError(false);
webClient.setCssEnabled(false);

webClient.setRedirectEnabled(true);

JavaScriptEngine engine = new JavaScriptEngine(webClient);
webClient.setJavaScriptEngine(engine);
HtmlPage firstPage = null;
ScriptResult result = null;
JavaScriptPage jsp=new JavaScriptPage(response, null);
try {
firstPage = webClient.getPage(request);
} catch (Exception e) {
e.printStackTrace();
}
String JavaScriptCode = "1+1";

try {
result = firstPage.executeJavaScript(JavaScriptCode);

} catch (Exception e) {
e.printStackTrace();
}
Object javaScriptResult = result.getJavaScriptResult();
System.out.println(javaScriptResult);
}
}

它适用于简单的 JavaScript 代码,例如 "1+1"。我想执行在 URL 的页面源中定义的特定功能。URL 是我在此代码中定义的字段。

最佳答案

这是一个工作示例,我尽量使其尽可能简单:

import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;

public class Test {
public static void main(String[] args) throws Exception {

WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);

HtmlPage page = webClient.getPage("http://www.iana.org/");
String javaScriptCode = "inArray([1,2],3)";

Object result = page.executeJavaScript(javaScriptCode).getJavaScriptResult();
System.out.println(result);
}
}

关于java - HtmlUnit 2.9 jar 执行 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10136873/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com