WebBrowser 方法下js代码为什么没有返回值? 5
源代码如下:请高手指点privateWebBrowserwebBrowser=newWebBrowser();(中间略....)privatevoidgetThisPag...
源代码如下:请高手指点
private WebBrowser webBrowser = new WebBrowser();
(中间略....)
private void getThisPageResult() {
Timer timer = new Timer(false);
timer.schedule(new AllTask(), 1 * 5000);
}
class AllTask extends TimerTask {
public void run() {
String jscript = "function getAllHtml() {"+
"var a='123';return a;"+
"}"+
"getAllHtml();";
String result = webBrowser.executeScript(jscript);
System.out.println("3333");
callback(result);
}
问题:String result = webBrowser.executeScript(jscript);无法获取返回值,通过测试在getAllHtml()方法中加了一个alert()方法在界面上能打印a的值?为什么在java代码中没有返回值?不知道是不是浏览器的问题还是哪里不对?请大侠指点! 展开
private WebBrowser webBrowser = new WebBrowser();
(中间略....)
private void getThisPageResult() {
Timer timer = new Timer(false);
timer.schedule(new AllTask(), 1 * 5000);
}
class AllTask extends TimerTask {
public void run() {
String jscript = "function getAllHtml() {"+
"var a='123';return a;"+
"}"+
"getAllHtml();";
String result = webBrowser.executeScript(jscript);
System.out.println("3333");
callback(result);
}
问题:String result = webBrowser.executeScript(jscript);无法获取返回值,通过测试在getAllHtml()方法中加了一个alert()方法在界面上能打印a的值?为什么在java代码中没有返回值?不知道是不是浏览器的问题还是哪里不对?请大侠指点! 展开
展开全部
试试直接获取变量:
从C#中取得javascript的变量值.
using mshtml;
using System.Reflection;
IHTMLDocument2 vDocument = webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLWindow2 vWindow = vDocument.parentWindow;
Type vWindowType = vWindow.GetType();
object xpt = vWindowType.InvokeMember("_xpt", BindingFlags.GetProperty, null, vWindow, new object[] { });
xpt 就是取得的javascript中的变量"_xpt"的值.
从C#中取得javascript的变量值.
using mshtml;
using System.Reflection;
IHTMLDocument2 vDocument = webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLWindow2 vWindow = vDocument.parentWindow;
Type vWindowType = vWindow.GetType();
object xpt = vWindowType.InvokeMember("_xpt", BindingFlags.GetProperty, null, vWindow, new object[] { });
xpt 就是取得的javascript中的变量"_xpt"的值.
追问
这个是java的.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询