Как войти в консоль Google Play с помощью HtmlUnit? - PullRequest
0 голосов
/ 19 июня 2019

Я использую 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Электронная почта или телефон Забыли электронную почту?Введите текст, который вы слышите или видите, не ваш компьютер?Для входа используйте личное окно. Подробнее Далее Создать учетную запись Для себя

Я пытаюсь перейти на страницу, на которой отображается набор налоговых ставок.

...