Я использую HtmlUnit, чтобы попытаться войти в консоль Google Play, только я всегда получаю страницу входа.
Я пытался изменить браузер, а также пытался использовать SSLContext, но безуспешно.Это похоже на следующий пост - Вход в учетную запись Google с использованием HtmlUnit
try
{
WebClient client = new WebClient(BrowserVersion.CHROME);
client.setHTMLParserListener(HTMLParserListener.LOG_REPORTER);
client.setJavaScriptEngine(new JavaScriptEngine(client));
client.getOptions().setJavaScriptEnabled(true);
client.getOptions().setCssEnabled(false);
client.getCookieManager().setCookiesEnabled(true);
client.getOptions().setThrowExceptionOnScriptError(false);
client.getOptions().setThrowExceptionOnFailingStatusCode(false);
client.setAjaxController(new NicelyResynchronizingAjaxController());
client.getCache().setMaxSize(0);
client.getOptions().setRedirectEnabled(true);
String url = "https://accounts.google.com/login?hl=en#identifier";
HtmlPage loginPage = client.getPage(url);
client.waitForBackgroundJavaScript(1000000);
HtmlForm loginForm = loginPage.getFirstByXPath("//form[@id='gaia_loginform']");
List<HtmlInput> buttonInputs = loginForm.getInputsByName("signIn");
HtmlInput nextButton = Iterables.getFirst(buttonInputs, null);
HtmlInput loginButton = Iterables.getLast(buttonInputs);
Thread.sleep(2000);
//setup email
HtmlInput emailInput = loginForm.getInputByName("Email");
emailInput.setValueAttribute("####");
Thread.sleep(2000);
//click next button
nextButton.click();
client.waitForBackgroundJavaScript(1000000);
Thread.sleep(2000);
//setup password
HtmlInput passwordInput = loginForm.getInputByName("Passwd");
passwordInput.setValueAttribute("####");
//click login button
loginButton.click();
client.waitForBackgroundJavaScript(1000000);
Thread.sleep(2000);
HtmlPage gmailPage = client.getPage("https://play.google.com/apps/publish/?account=8812293306013257434#PaymentsPortalPlace:pctx=PLAY_MERCHANT&pplc=SALES_TAX");
log.info(gmailPage.asText());
}
catch (FailingHttpStatusCodeException e)
{
e.printStackTrace();
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
Я просто всегда получаю следующий результат:
Вход в систему Перейти к консоли Google PlayЭлектронная почта или телефон Забыли электронную почту?Введите текст, который вы слышите или видите, не ваш компьютер?Для входа используйте личное окно. Подробнее Далее Создать учетную запись Для себя
Я пытаюсь перейти на страницу, на которой отображается набор налоговых ставок.