当前位置:编程学习 > JAVA >>

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')");
}
}
swt 坐标 Java 浏览器 --------------------编程问答-------------------- 这个问题也许太不好解决了。 --------------------编程问答-------------------- 可以尝试给鼠标添加监听事件。
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,