java + swt 设计的浏览器,如何获得网页中的元素坐标位置呢
java + swt 设计的浏览器,如何获得网页中的元素坐标位置呢
js文件代码范例:
function getxy() {
mydiv = document.getElementById('lk')
// 获得mydiv里面的A元素
var mya = mydiv.getElementsByTagName('a')
// var abc = mydiv.getAttributeNode()
// 获得a元素中叫abc的连接
var n = 0
while (n < mya.length) {
if (mya.item(n).textContent == "百科") {
x = mya.item(n).offsetLeft
y = mya.item(n).offsetTop
}
n++
}
document.write(" "+x+" "+ y)
}
getxy()
</script>
如果把上面的JS代码插入到百度首页中,可以获得元素“百科”的坐标。
问题是,如果用SWT开发的浏览,希望JAVA调用JS代码来获得元素坐标,然后传回给JAVA。
类似下面的JAVA调用JS,但JAVA不能调用doucument方法,这就使得上面的JS文件无法正常运行。请问还有其他办法可以获得元素坐标吗?
import java.io.File;
import java.io.FileReader;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class T3 {
public static void main(String[] args) throws Exception {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
engine.eval("print('你好')");
// java并不支持document方法,document是客户端浏览器的API
// engine.eval("document.getElementById('lk')");
}
}
...全文
相关推荐
Java内嵌浏览器eclipse.swt插件版
Java内嵌浏览器eclipse.swt插件版 swt-3.5M4-win32-win32-x86 eclipse.swt 源码,jar包 demo eclipse工程实例
在SWING、SWT中嵌入浏览器
NULL 博文链接:https://gxblluojialin.iteye.com/blog/2028156
SWT java浏览器
SWTjava浏览器 包括保存、打开、前进后退、查看历史等功能 附有jar包
Java-Swing嵌入浏览器(本地浏览器和webkit浏览器-火狐内核)
用DJnative-swt和swt包开发的调用本地浏览器和webkit浏览器的示例
基于SWT组件的IE内核Java简易浏览器
编程实现解释显示效果较好的简单浏览器。网络上有很多五花八门的用Java制作的简易浏览器,这里简单介绍一种利用SWT组件开发的简易浏览器。


Java SE

