Я немного возился с HtmlUnit, особенно с этим сайтом, потому что он имеет довольно много функций, к которым я хотел привыкнуть.Я уже писал об этом раньше, но это было главным образом для сбора информации с сайта, которая оказалась успешной.Теперь я хочу заполнить форму и отправить ее.
Текущий тестовый код:
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>
Есть ли способ получить только ту информацию, которую я ищу: <td>109.123.00.00</td>
или мне просто нужно удалить информацию из нее вручную?
РЕДАКТИРОВАТЬ
.asText () решил мою проблему, но дал несколько предупреждений относительно CSS. Должен ли я волноваться?