如何使用HtmlUnit登录Google Play控制台?

时间:2019-06-19 12:35:12

标签: java htmlunit

我正在使用HtmlUnit尝试登录Google Play控制台,只有我总是以登录页面结束。

我尝试更改浏览器,也尝试使用SSLContext,但未成功。这似乎类似于以下帖子-Login to Google Account using 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控制台 邮件或者电话 忘记电邮了吗? 输入您听到或看到的文字 不是您的电脑?使用私有窗口登录。了解更多 下一个 创建帐号 为了我自己

我正在尝试进入显示一堆销售税率的页面。

0 个答案:

没有答案