Я только начинаю разрабатывать приложения для Android. Я написал некоторый код с журналами на веб-сайте (который использует тонны JavaScript) и получает некоторые данные, которые мне нужны. Я использовал для этого HtmlUnit. Теперь я вижу, что HtmlUnit не работает на Android, поэтому мне нужна альтернатива. Я сделал что-то вроде этого...
final WebClient webClient = new WebClient(BrowserVersion.EDGE);
webClient.getOptions().setUseInsecureSSL(true);
webClient.getOptions().setThrowExceptionOnScriptError(false);
final HtmlPage loginSite = webClient.getPage("...");
final HtmlForm login_form = (HtmlForm) loginSite.getElementById("login_form");
final HtmlSubmitInput button = (HtmlSubmitInput) login_form.getByXPath("//input[@id='login_submit_button']").get(0);
final HtmlTextInput id = login_form.getInputByName("user");
id.setValueAttribute("...");
final HtmlPasswordInput pw = login_form.getInputByName("password");
pw.setValueAttribute("...");
button.click();
webClient.waitForBackgroundJavaScript(2000);
HtmlPage worldSelectionForm = (HtmlPage) webClient.getTopLevelWindows().get(0).getEnclosedPage();
final List<HtmlAnchor> anchorlist = worldSelectionForm.getAnchors();
getWorld(anchorlist, 126).click();
webClient.waitForBackgroundJavaScript(5000);
HtmlPage game = (HtmlPage) webClient.getTopLevelWindows().get(0).getEnclosedPage();
System.out.print(game.asXml());
public static HtmlAnchor getWorld(List<HtmlAnchor> anchorlist, int world) {
HtmlAnchor anchor = null;
for (HtmlAnchor a : anchorlist) {
if (a.toString().contains("server_de" + String.valueOf(world))) {
anchor = a;
}
}
return anchor;
}
Я много искал, но не нашел ответа на свой вопрос.
Могу ли я сделать это тоже с Selenium? Селен только для тестирования?
Привет