HTMLUnit登录Facebook广告管理系统

时间:2017-01-25 20:29:59

标签: java html facebook htmlunit

我需要一个程序来帮助我在Facebook上开展我的广告系列。它必须登录Facebook并转到www.facebook.com/ads/manager/billing并阅读帐户剩余的剩余金额。我试图做的是使用HTMLunit登录到facebook,然后转到广告/经理/计费链接并将整个页面复制为文本,找到当前余额:xx.xx并显示它(某处)。问题是,当我转到广告/经理/结算时,该页面正在加载某些内容,并且只有在此之后才显示完整内容。所以我的代码正在显示文本"正在加载,请稍候"而不是最后一页。这是代码:

final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_45);
    webClient.setJavaScriptEngine(new JavaScriptEngine(webClient));

    HtmlPage page1 = null;
    try {
        page1 = webClient.getPage("https://www.facebook.com");
    } catch (IOException e) {
        e.printStackTrace();
    }

    final HtmlForm form = (HtmlForm) page1.getElementById("login_form");

    final HtmlSubmitInput button = (HtmlSubmitInput) form.getInputsByValue("Log In").get(0);
    final HtmlTextInput textField = (HtmlTextInput) page1.getElementById("email");
    textField.setValueAttribute("asd@gmail.com");
    final HtmlPasswordInput textField2 = (HtmlPasswordInput) page1.getElementById("pass");
    textField2.setValueAttribute("mypass");
    try {
        HtmlPage page2 = button.click();
        System.out.println(page2.getTitleText());


    } catch (IOException e) {
        e.printStackTrace();
    }

    HtmlPage page = null;
    try {
        page = webClient.getPage("https://www.facebook.com/ads/manager/billing");
    } catch (Exception e) {
        System.out.println("Get page error");
    }


    System.out.println(page.asText());

有没有其他或更简单的方法来实现这一目标?感谢。

0 个答案:

没有答案