ui4j 帮助列表中的选项卡
ui4j help on list with tabs
我需要从这个 webpage 中获取一些数据。我需要点击选项卡,但我无法将它们作为元素获取
来自 FF 检查器的代码是:
<div id="dnn_ctr521_View_RadTabStrip2" class="RadTabStrip RadTabStrip_Outlook RadTabStripTop_Outlook pageTabs">
<div class="rtsLevel rtsLevel1">
<ul class="rtsUL">
<li class="rtsLI rtsFirst">
<a class="rtsLink rtsSelected" href="#">
<span class="rtsOut">
<span class="rtsIn">
<span class="rtsTxt">
Επισκόπηση
</span>
</span>
</span>
</a>
</li>
<li class="rtsLI">
<a class="rtsLink rtsAfter" href="#">
<span class="rtsOut">
<span class="rtsIn">
<span class="rtsTxt">
Υποέργα
</span>
</span>
</span>
</a>
</li>
<li class="rtsLI"></li>
<li class="rtsLI"></li>
<li class="rtsLI rtsLast"></li>
</ul>
</div>
我已经尝试了我能想到的一切,但似乎没有任何效果。我唯一得到的就是用这个阅读标签
document.query("#dnn_ctr521_View_RadTabStrip2")
这给了我这个:
> WebKitElement [element= <div class="rtsLevel rtsLevel1"> <ul
> class="rtsUL"><li class="rtsLI rtsFirst"><a class="rtsLink
> rtsSelected" href="#"><span class="rtsOut"><span class="rtsIn"><span
> class="rtsTxt">Επισκόπηση</span></span></span></a></li><li
> class="rtsLI"><a class="rtsLink rtsAfter" href="#"><span
> class="rtsOut"><span class="rtsIn"><span
> class="rtsTxt">Υποέργα</span></span></span></a></li><li
> class="rtsLI"><a class="rtsLink" href="#"><span class="rtsOut"><span
> class="rtsIn"><span
> class="rtsTxt">Πορεία</span></span></span></a></li><li
> class="rtsLI"><a class="rtsLink" href="#"><span class="rtsOut"><span
> class="rtsIn"><span class="rtsTxt">Εμπλεκόμενοι
> Φορείς</span></span></span></a></li><li class="rtsLI rtsLast"><a
> class="rtsLink" href="#"><span class="rtsOut"><span
> class="rtsIn"><span class="rtsTxt">Έγγραφα -
> Φωτογραφίες</span></span></span></a></li></ul> </div><input
> id="dnn_ctr521_View_RadTabStrip2_ClientState"
> name="dnn_ctr521_View_RadTabStrip2_ClientState" type="hidden"
> autocomplete="off"
> value="{"selectedIndexes":["0"],"logEntries":[],"scrollState":{}}">
> ]
但我无法继续
不需要点击标签页来提取数据。选项卡已加载初始数据。
package com.ui4j.sample;
import com.ui4j.api.browser.BrowserEngine;
import com.ui4j.api.browser.BrowserFactory;
import com.ui4j.api.browser.Page;
import com.ui4j.api.dom.Document;
import com.ui4j.api.dom.Element;
public class Main {
public static void main(String[] args) {
BrowserEngine engine = BrowserFactory.getWebKit();
Page page = engine.navigate("http://anaptyxi.gov.gr/ergopopup.aspx?mis=277649");
page.show();
Document document = page.getDocument();
// click to second tab
document.queryAll(".rtsLI").get(1).click();
// extract content from the first tab
Element firstTab = document.query("#dnn_ctr521_View_pageEpiskopisi").get();
String value = firstTab.query(".stoixeiaValues").get().getText().get();
System.out.println(value); // prints 22.146.837 €
// #dnn_ctr521_View_pageIpoerga second tab
// #dnn_ctr521_View_pagePoreia third tab
// #dnn_ctr521_View_pageForeis fourth tab
// #dnn_ctr521_View_pageEggrafa fifth tab
}
}
我需要从这个 webpage 中获取一些数据。我需要点击选项卡,但我无法将它们作为元素获取 来自 FF 检查器的代码是:
<div id="dnn_ctr521_View_RadTabStrip2" class="RadTabStrip RadTabStrip_Outlook RadTabStripTop_Outlook pageTabs">
<div class="rtsLevel rtsLevel1">
<ul class="rtsUL">
<li class="rtsLI rtsFirst">
<a class="rtsLink rtsSelected" href="#">
<span class="rtsOut">
<span class="rtsIn">
<span class="rtsTxt">
Επισκόπηση
</span>
</span>
</span>
</a>
</li>
<li class="rtsLI">
<a class="rtsLink rtsAfter" href="#">
<span class="rtsOut">
<span class="rtsIn">
<span class="rtsTxt">
Υποέργα
</span>
</span>
</span>
</a>
</li>
<li class="rtsLI"></li>
<li class="rtsLI"></li>
<li class="rtsLI rtsLast"></li>
</ul>
</div>
我已经尝试了我能想到的一切,但似乎没有任何效果。我唯一得到的就是用这个阅读标签
document.query("#dnn_ctr521_View_RadTabStrip2")
这给了我这个:
> WebKitElement [element= <div class="rtsLevel rtsLevel1"> <ul
> class="rtsUL"><li class="rtsLI rtsFirst"><a class="rtsLink
> rtsSelected" href="#"><span class="rtsOut"><span class="rtsIn"><span
> class="rtsTxt">Επισκόπηση</span></span></span></a></li><li
> class="rtsLI"><a class="rtsLink rtsAfter" href="#"><span
> class="rtsOut"><span class="rtsIn"><span
> class="rtsTxt">Υποέργα</span></span></span></a></li><li
> class="rtsLI"><a class="rtsLink" href="#"><span class="rtsOut"><span
> class="rtsIn"><span
> class="rtsTxt">Πορεία</span></span></span></a></li><li
> class="rtsLI"><a class="rtsLink" href="#"><span class="rtsOut"><span
> class="rtsIn"><span class="rtsTxt">Εμπλεκόμενοι
> Φορείς</span></span></span></a></li><li class="rtsLI rtsLast"><a
> class="rtsLink" href="#"><span class="rtsOut"><span
> class="rtsIn"><span class="rtsTxt">Έγγραφα -
> Φωτογραφίες</span></span></span></a></li></ul> </div><input
> id="dnn_ctr521_View_RadTabStrip2_ClientState"
> name="dnn_ctr521_View_RadTabStrip2_ClientState" type="hidden"
> autocomplete="off"
> value="{"selectedIndexes":["0"],"logEntries":[],"scrollState":{}}">
> ]
但我无法继续
不需要点击标签页来提取数据。选项卡已加载初始数据。
package com.ui4j.sample;
import com.ui4j.api.browser.BrowserEngine;
import com.ui4j.api.browser.BrowserFactory;
import com.ui4j.api.browser.Page;
import com.ui4j.api.dom.Document;
import com.ui4j.api.dom.Element;
public class Main {
public static void main(String[] args) {
BrowserEngine engine = BrowserFactory.getWebKit();
Page page = engine.navigate("http://anaptyxi.gov.gr/ergopopup.aspx?mis=277649");
page.show();
Document document = page.getDocument();
// click to second tab
document.queryAll(".rtsLI").get(1).click();
// extract content from the first tab
Element firstTab = document.query("#dnn_ctr521_View_pageEpiskopisi").get();
String value = firstTab.query(".stoixeiaValues").get().getText().get();
System.out.println(value); // prints 22.146.837 €
// #dnn_ctr521_View_pageIpoerga second tab
// #dnn_ctr521_View_pagePoreia third tab
// #dnn_ctr521_View_pageForeis fourth tab
// #dnn_ctr521_View_pageEggrafa fifth tab
}
}