最近我有一些HtmlUnit返回空值的問題,並且正在尋找指導。我抓取網站第一行的每個結果都返回null。我想知道,如果有人可以Groovy htmlunit getFirstByXPath返回null + OCR問題
A)解釋爲什麼他們可能會返回null
B)解釋更好的方式(如果有一些)去獲得信息
這裏我當前的代碼(網址是源):
client = new WebClient(BrowserVersion.FIREFOX_3)
client.javaScriptEnabled = false
def url = "http://www.hidemyass.com/proxy-list/"
page = client.getPage(url)
IpAddress = page.getFirstByXPath("//html/body/div/div/form/table/tbody/tr/td[2]").getValue()
println "IP Address is: $data" //returns null
//Port_Number is an Image
Country = page.getFirstByXPath("//html/body/div/div/form/table/tbody/tr/td[4][@class='country']/@rel").getValue()
println "Country abbreviation is: $Country"
//differentiate speed and connection by name of gif?
Type = page.getFirstByXPath("//html/body/div/div/form/table/tbody/tr/td[7]").getValue()
println "Proxy type is: $Type"
Anonymity = page.getFirstByXPath("//html/body/div/div/form/table/tbody/tr/td[8]").getValue()
println "Anonymity Level is: $Anonymity"
client.closeAllWindows()
現在我所有的XPath的返回null,.getValue()顯然不能對空工作。
我也有問題應該怎麼處理PORT因爲它是一個圖像?有沒有更好的選擇,比下載它,並試圖通過OCR解決它?
旁註
有在這個網站沒有任何意義,我只是在尋找,我可以練習刮(最後一個我跑進片段身份的問題,無法獲得網站答案爲:HtmlUnit getByXpath returns null和HtmlUnit and Fragment Identities)
我用螢火蟲讓我的XPaths包含窗體(我認爲它是正確的)。但是,即使從XPath中刪除* form *也會返回null。 – StartingGroovy 2011-01-08 19:08:46