HtmlUnit 2.9 jar execute JavaScript
HtmlUnit 2.9 jar execute JavaScript
我正在尝试以下代码:
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);
}
}
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 上一个函数完成后,javascript/jQuery调用execute函数
- Primefaces:RequestContext.execute-调用了两次Javascript
- cefsharp execute Javascript from C#
- htmlunit execute page javascript
- HtmlUnit 2.9 jar execute JavaScript
- 将.CSV数据导入Javascript,并在字符串包含数据时运行execute
- Execute XQuery with JavaScript
- JQuery .get doesnt execute Javascript
- Execute JavaScript from iOS?
- request.execute(function(resp){})的含义是什么?在Javascript
- powershell javascript eval() or vbscript execute() alternati
- execute javascript from node.js
- Execute Javascript in python
- JavaScript .execute命令是否可以同步运行,或者转换为Ajax ?