ui4j找不到使用java的元素

时间:2015-07-13 16:21:13

标签: java ui4j

我正在尝试使用ui4j为网站创建自动化程序,但我停了下来。曾经使用UI4J并且像魅力一样工作,但现在它无法找到我需要它点击移动到其他页面的项目。 website的代码就是这个

<div>
    <a id="T:df6yt:0:jfcx6" class="x1sq xfd" href="#" onclick="return false;" title="Αναζήτηση"></a>
</div>

我在我的java程序中使用它

BrowserEngine webkit = BrowserFactory.getWebKit();
Page page = webkit.navigate("http://www.eprocurement.gov.gr");
page.show();
Document document = page.getDocument();
Thread.sleep(30000);
document.query("T:df6yt:0:jfcx6").click();

给了我这个错误

Exception in thread "JavaFX Application Thread" com.ui4j.api.util.Ui4jException: org.w3c.dom.DOMException
    at com.ui4j.webkit.proxy.WebKitProxy$CallableExecutor.run(WebKitProxy.java:46)
    at com.sun.javafx.application.PlatformImpl.lambda$null$170(PlatformImpl.java:295)
    at com.sun.javafx.application.PlatformImpl$$Lambda$55/1876181116.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(PlatformImpl.java:294)
    at com.sun.javafx.application.PlatformImpl$$Lambda$53/1995813168.run(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
    at com.sun.glass.ui.gtk.GtkApplication.lambda$null$48(GtkApplication.java:139)
    at com.sun.glass.ui.gtk.GtkApplication$$Lambda$43/345577659.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.w3c.dom.DOMException
    at com.sun.webkit.dom.DocumentImpl.querySelectorImpl(Native Method)
    at com.sun.webkit.dom.DocumentImpl.querySelector(DocumentImpl.java:1102)
    at com.ui4j.webkit.spi.W3CSelectorEngine.query(W3CSelectorEngine.java:41)
    at com.ui4j.webkit.dom.WebKitDocument.query(WebKitDocument.java:42)
    at com.ui4j.webkit.dom.WebKitDocument$ByteBuddy$rFtzsPLl.query$accessor$fcVUXi0a(Unknown Source)
    at com.ui4j.webkit.dom.WebKitDocument$ByteBuddy$rFtzsPLl$accessor$K6O5cVza.call(Unknown Source)
    at com.ui4j.webkit.proxy.WebKitProxy$CallableExecutor.run(WebKitProxy.java:44)
    ... 10 more

任何帮助?

1 个答案:

答案 0 :(得分:0)

T:df6yt:0:jfcx6 不是有效的选择器。冒号角色must be escaped。作为替代解决方案,请使用此 a [title ='Αναζήτηση']。x1sq 选择器。