0
Я использую следующий код, чтобы получить первые две страницы результатов поиска google , но я могу получить только первую страницу (на странице поиска 2, это то же самое с страница 1)Как использовать htmlunit получить «следующую страницу» в google
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
/**
* A simple Google search test using HtmlUnit.
*
* @author Rahul Poonekar
* @since Apr 18, 2010
*/
public class Author_search {
static final WebClient browser;
static {
browser = new WebClient();
browser.setJavaScriptEnabled(false);
}
public static void main(String[] arguments) {
searchTest();
}
private static void searchTest() {
HtmlPage currentPage = null;
try {
currentPage = (HtmlPage) browser.getPage("http://www.google.com");
} catch (Exception e) {
System.out.println("Could not open browser window");
e.printStackTrace();
}
System.out.println("Simulated browser opened.");
try {
((HtmlTextInput) currentPage.getElementByName("q")).setValueAttribute("xxoo");
currentPage = currentPage.getElementByName("btnG").click();
System.out.println("contents: " + currentPage.asText());
HtmlElement next = (HtmlElement)currentPage.getByXPath("//span[contains(text(), 'Next')]").get(0);
currentPage = next.click();
System.out.println("contents: " + currentPage.asText());
} catch (Exception e) {
System.out.println("Could not search");
e.printStackTrace();
}
}
}
может кто-нибудь сказать мне, как исправить это?
кстати:
- Как изменить языковые настройки в Google с помощью HtmlUnit? любой удобными способами?
- htmlunit обрабатывает html как «firebug» в firefox или просто обрабатывает его, как тексты в «file-> save». В моем ответе я считаю, что он относится к нему так, как будто это был исследователь, я прав ?
нужно импортировать: com.gargoylesoftware.htmlunit.html.HtmlAnchor –