我有一个页面,可以找到多个状态。我想在页面上计算所有serviceStatus-OK和serviceStatus-DOWN div。不幸的是我无法修改页面,我需要验证所有服务是否正常运行。我的想法是,加载页面,统计所有OK状态。如果5服务有5好,我们很好。如果有任何DOWN,我们就不行了。
Any ideas?
Source code:
<span id="content">
<div class="status">
<div class="serviceName">
Some name <br />
http://blablaservice1
</div>
<div class="serviceStatus-OK">
OK
</div>
</div>
<div class="status">
<div class="serviceName">
Some other name <br />
http://blablaservice2
</div>
<div class="serviceStatus-DOWN">
DOWN
</div>
</div>
My code:
Elements services = doc.select("span#conent");
Element content = doc.getElementById("content");
Elements servicesOks = content.getElementsByTag("status");
int upCounter = 0;
int downCounter = 0;
for (Element y : servicesOks) {
if (y.hasClass("status-OK")) {
upCounter++;
}
}
for (Element y : servicesOks) {
if (y.hasAttr("status-DOWN")) {
downCounter++;
}
}
System.out.println("OK Systems: " + upCounter);
System.out.println("DOWN Systems: " + upCounter);
My output is:
OK Systems: 0
DOWN Systems: 0
答案 0 :(得分:1)
你可以找到这样的好坏数量:
Document doc = Jsoup.parse(input);
Elements OK = doc.select(".serviceStatus-OK");
Elements down = doc.select(".serviceStatus-DOWN");
System.out.println("OK - " + OK.size());
System.out.println("DOWN - " + down.size());
查找名称为serviceStatus-OK
和serviceStatus-DOWN
的所有元素,然后计算每种项目的数量(elemnts
只是list
)。