我一直在搞HtmlUnit的一點點,特別是這個網站,因爲它有很多我想習慣的功能。之前我已經發布過關於它的信息,但主要是爲了抓取最終成功的網站信息。現在我想填寫表格並提交。HtmlUnit - 選擇表單,複選框,TextFields和提交按鈕
電流測試代碼:
def url = "http://www.hidemyass.com/proxy-list/"
client = new WebClient(BrowserVersion.FIREFOX_3)
client.javaScriptEnabled = false
page = client.getPage(url)
form = page.getFormByName("proxyform")
//get portInputField and set value
portField = form.getInputByName("p")
portField.setValueAttribute("80")
//select checkbox 1 & 2 from anonymity level
//click "Update Results"
//get new page url
//grab information
//save
註釋掉的部分中,我不確定該怎麼做。我繼續嘗試,但想要就我應該做的事情徵求意見。
嘗試:
def url = "http://www.hidemyass.com/proxy-list/"
page = client.getPage(url)
portField = page.getHtmlElementById("ports").setValueAttribute("80")
submitButton = page.getByXPath("/html/body//form//input[@type='image']")
page2 = submitButton.get(0).click()
println page2
上面的代碼段打印出:HtmlPage(http://www.hidemyass.com/proxy-list/search-1)@17168934
我我希望獲得一個新的頁面,然後我可以解析搜索中的信息。有任何想法嗎?
我不相信我使用的語言應該會帶來太多的不同;不過,我正在使用Groovy。
編輯
我設法得到我想要的東西,但它返回像這樣:
HtmlPage(http://www.hidemyass.com/proxy-list/search-1)@23713629
<?xml version="1.0" encoding="UTF-8"?><td>109.123.00.00</td>
有沒有辦法讓只有我在尋找的信息:或做我只需要從它手動剝離信息?
編輯
.asText()解決了我的問題,而是給了有關CSS相當多的警告。我應該擔心嗎?
lol我有一個未聲明的變量,它拋棄了我的代碼。 (我回去多次編輯它,並沒有意識到我刪除了它,我已經編輯了這個問題作爲它的最後一部分,如果你有機會對此發表評論,我將不勝感激。提到`Geb`我會檢查它,儘管我剛開始習慣了HtmlUnit。 – StartingGroovy 2011-02-03 21:18:01