0
我有一個頁面,可以找到幾個狀態。我想要統計頁面上的所有serviceStatus-OK和serviceStatus-DOWN div。很遺憾,我無法修改該頁面,我需要驗證所有服務已啓動並正在運行。我的想法是,加載頁面,計數所有OK狀態。如果5個服務有5個確定,我們很好。如果有任何DOWN,我們就不好。與Jsoup div div divs
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
謝謝,它工作正常!欣賞它!我的定位器很糟糕。我有另一個div狀態也是serviceStatus-CHECKING。當我加載頁面時,所有div都有Checking,最後每個服務都有OK或DOWN狀態,並且DOM被刷新。我該如何等待檢查過程的結束?所以每個servicestatus-CHECKING div應該消失。我嘗試了webdriverwait,但它保存了一個檢查所有的時間。提前致謝!! – brobee
聽起來像你的網頁是動態的,所以我認爲'jsoup'不適合這個。嘗試搜索phantomJS。 – TDG
是的,它是動態的,但我需要去與java,jsoup,webdriver。我只是需要等一下,直到dom改變,並按照你所說的計數。 – brobee