我试图填写有时需要一些等待时间的表格,因此在进行大量搜索之后,我能够延迟某些命令的执行(我必须创建一个单独的线程来执行此操作),但效果很好,但当我尝试使用WebEngine
之类的命令,例如executescript
时,它不起作用。
这是我的摘录:
注意: eng是一个WebEngine实例,在线程外运行正常。
更新:经过小测试,我发现eng
实例在线程中运行正常,但是我无法运行eng.executescript()
Update2 :经过一番搜索,我发现eng.executescript必须在主线程上运行,但是同时我需要将执行延迟一段时间,我不确定我该怎么做。
Thread one = new Thread() {
public void run() {
try {
System.out.println("Does it work?");
Thread.sleep(2000);
eng.executeScript("document.getElementById(\"textFieldId\").value = 100");
System.out.println("yup");
} catch(InterruptedException v) {
System.out.println(v);
}
}
};
one.start();
答案 0 :(得分:0)
我已经通过使用setTimeout
函数通过javascript实现等待部分来解决此问题,并且它起到了作用