Example usage for org.jsoup.nodes Document getElementById

List of usage examples for org.jsoup.nodes Document getElementById

Introduction

In this page you can find the example usage for org.jsoup.nodes Document getElementById.

Prototype

public Element getElementById(String id) 

Source Link

Document

Find an element by ID, including or under this element.

Usage

From source file:com.liato.bankdroid.banking.banks.Hors.java

@Override
public void update() throws BankException, LoginException, BankChoiceException, IOException {
    super.update();
    urlopen = login();//from  w ww.  j av  a2 s .  c  om
    Document document = Jsoup.parse(response);
    Element balanceElement = document.getElementById("cphMain_lblAmount");
    if (balanceElement == null) {
        throw new BankException(
                res.getText(R.string.unable_to_find).toString() + res.getText(R.string.balance).toString());
    }

    Element nameElement = document.getElementById("lblCardName");
    String accountName = nameElement == null ? NAME.toUpperCase() : nameElement.text();
    if (this.getCustomName().isEmpty()) {
        this.setCustomName(accountName);
    }

    Account account = new Account(accountName, Helpers.parseBalance(balanceElement.text()), "0");
    accounts.add(account);
    balance = balance.add(account.getBalance());

    document = Jsoup.parse(urlopen.open("https://www.dittkort.se/q/Partial/Transactions.aspx?cnt=20"));
    Elements transactionElements = document.select("tr");
    List<Transaction> transactions = new ArrayList<Transaction>();
    if (transactionElements != null) {
        for (Element element : transactionElements) {
            transactions.add(asTransaction(element));
        }
    }
    account.setTransactions(transactions);
    super.updateComplete();
}

From source file:com.liato.bankdroid.banking.banks.AbsIkanoPartner.java

@Override
protected LoginPackage preLogin() throws BankException, ClientProtocolException, IOException {
    urlopen = new Urllib(context, CertificateReader.getCertificates(context, R.raw.cert_ikanopartner));
    response = urlopen.open("https://partner.ikanobank.se/web/engines/page.aspx?structid=" + structId);

    Document d = Jsoup.parse(response);
    Element viewstate = d.getElementById("__VIEWSTATE");
    if (viewstate == null || TextUtils.isEmpty(viewstate.val())) {
        throw new BankException(res.getText(R.string.unable_to_find).toString() + " ViewState.");
    }/*w w  w  .  j  a va2s.  c  o  m*/

    Element eventvalidation = d.getElementById("__EVENTVALIDATION");
    if (eventvalidation == null || TextUtils.isEmpty(eventvalidation.val())) {
        throw new BankException(res.getText(R.string.unable_to_find).toString() + " EventValidation.");
    }

    Element userField = d.select("#LoginSpan input[type=text]").first();
    Element passField = d.select("#LoginSpan input[type=password]").first();
    Element submitField = d.select("#LoginCustomerDiv input[type=submit]").first();

    if (userField == null || passField == null || submitField == null) {
        throw new BankException(res.getText(R.string.unable_to_find).toString() + " login fields.");
    }
    List<NameValuePair> postData = new ArrayList<NameValuePair>();
    postData.add(new BasicNameValuePair("__VIEWSTATE", viewstate.val()));
    postData.add(new BasicNameValuePair("__EVENTVALIDATION", eventvalidation.val()));
    postData.add(new BasicNameValuePair(userField.attr("name"), username));
    postData.add(new BasicNameValuePair(passField.attr("name"), password));
    postData.add(new BasicNameValuePair(submitField.attr("name"), submitField.val()));
    return new LoginPackage(urlopen, postData, response,
            "https://partner.ikanobank.se/web/engines/page.aspx?structid=" + structId);

}

From source file:org.keycloak.testsuite.util.saml.LoginBuilder.java

/**
 * Prepares a GET/POST request for logging the given user into the given login page. The login page is expected
 * to have at least input fields with id "username" and "password".
 *
 * @param user/*from ww  w  . j  a va 2s.  c o  m*/
 * @param loginPage
 * @return
 */
private HttpUriRequest handleLoginPage(String loginPage, URI currentURI) {
    if (idpAlias != null) {
        org.jsoup.nodes.Document theLoginPage = Jsoup.parse(loginPage);
        Element zocialLink = theLoginPage.getElementById("zocial-" + this.idpAlias);
        assertThat("Unknown idp: " + this.idpAlias, zocialLink, Matchers.notNullValue());
        final String link = zocialLink.attr("href");
        assertThat("Invalid idp link: " + this.idpAlias, link, Matchers.notNullValue());
        return new HttpGet(currentURI.resolve(link));
    }

    return handleLoginPage(user, loginPage);
}

From source file:com.astrientlabs.nyt.NYT.java

public String extractImageURL(int session, String memberType, String name) throws IOException {
     String url = "http://memberguide.gpo.gov/" + session + "/" + memberType + "/" + name;

     try {/*  w w w .  j  ava 2  s  .  c  o m*/
         Connection c = Jsoup.connect(url);
         c.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1");

         Document doc = c.get();
         doc.normalise();

         Element content = doc.getElementById("ctl00_ContentPlaceHolder1_pic");
         if (content != null) {
             String src = content.attr("src");
             //System.out.println(src + " vs " + doc.baseUri());

             if (src != null) {
                 URL u = new URL("http://memberguide.gpo.gov/" + session + "/" + memberType + "/" + src);
                 return u.toString();
             }
         }
     } catch (Exception e) {
         e.printStackTrace();
     }

     return null;
 }

From source file:autoInsurance.BeiJPingAnImpl.java

public String login(String in) {
    String out = "";

    JSONObject jsonObject = JSONObject.fromObject(in);
    String ukey = jsonObject.getString("ukey");
    String loginName = jsonObject.getString("loginName");
    String password = jsonObject.getString("password");

    String url = "https://icore-pts.pingan.com.cn/ebusiness/auto/newness/toibcswriter.do?transmitId=apply";
    String retStr = httpClientUtil.doPost(url, new HashMap(), charset);
    Document doc = Jsoup.parse(retStr);
    Element script_umlogin = doc.getElementById("script_umlogin");
    if (null != script_umlogin) {
        url = "https://icore-pts.pingan.com.cn/ebusiness/j_security_check";
        Map<String, String> paramMap = new HashMap<String, String>();
        paramMap.put("j_username", loginName);
        paramMap.put("j_password", password);
        paramMap.put("SMAUTHREASON", "0");
        paramMap.put("randCode", "");
        retStr = httpClientUtil.doPost(url, paramMap, charset);
        doc = Jsoup.parse(retStr);/*  w  w  w.ja  v  a2  s . c o m*/
        String title = doc.title();
        if (title.startsWith("")) {
            url = "https://icore-pts.pingan.com.cn/ebusiness/auto/newness/toibcswriter.do?transmitId=apply";
            retStr = httpClientUtil.doPost(url, new HashMap(), charset);
            doc = Jsoup.parse(retStr);
            FormElement form = (FormElement) doc.getElementById("workbenchIBCSAppForm");
            List<KeyVal> datas = form.formData();
            paramMap = new HashMap<String, String>();
            for (KeyVal kv : datas) {
                paramMap.put(kv.key(), kv.value());
            }
            paramMap.put("dealerCodes", "");
            url = "https://icorepnbs.pingan.com.cn/icore_pnbs/do/usermanage/systemTransfer";
            retStr = httpClientUtil.doPost(url, paramMap, charset);
            doc = Jsoup.parse(retStr);
            title = doc.title();
            if ("".equals(title))
                out = "{\"success\": true, \"msg\": \"" + loginName + "," + paramMap.get("userName")
                        + ",\"}";
        }
    } else {
        FormElement form = (FormElement) doc.getElementById("workbenchIBCSAppForm");
        if (null != form) {
            return "{\"success\": false, \"msg\": \"!\"}";
        }
    }

    return out;
}

From source file:com.ufukuzun.myth.dialect.bean.Myth.java

public <T> AjaxResponse response(AjaxRequest<T> form, String viewName, ModelMap modelMap,
        HttpServletResponse response, HttpServletRequest request) {
    AjaxResponse ajaxResponse = new AjaxResponse();

    for (RequestUpdate eachRequestUpdate : form.getUpdate()) {
        if (StringUtils.isNotBlank(eachRequestUpdate.getRenderFragment())) {
            String decodedRenderFragment = new String(
                    Base64.decodeBase64(eachRequestUpdate.getRenderFragment()));
            if (StringUtils.isNotBlank(decodedRenderFragment) && !eachRequestUpdate.getUpdates().isEmpty()) {
                String processResult = process(viewName, decodedRenderFragment, modelMap, request, response);
                Document document = parse(processResult);
                for (String eachId : eachRequestUpdate.getUpdates()) {
                    Element element = document.getElementById(eachId);
                    String content = element != null ? element.toString() : "";
                    ajaxResponse.add(eachId, content);
                }/* ww w . j  av  a  2 s. co m*/
            }
        }
    }

    return ajaxResponse;
}

From source file:com.liato.bankdroid.banking.banks.Hemkop.java

@Override
protected LoginPackage preLogin() throws BankException, ClientProtocolException, IOException {
    urlopen = new Urllib(context, CertificateReader.getCertificates(context, R.raw.cert_hemkop));
    urlopen.setAllowCircularRedirects(true);
    response = urlopen.open("https://www.hemkop.se/Mina-sidor/Logga-in/");

    Document d = Jsoup.parse(response);
    Element e = d.getElementById("__VIEWSTATE");
    if (e == null || e.attr("value") == null) {
        throw new BankException(res.getText(R.string.unable_to_find).toString() + " ViewState.");
    }//ww w  .  j  av  a  2 s. c  o m
    String viewState = e.attr("value");

    e = d.getElementById("__EVENTVALIDATION");
    if (e == null || e.attr("value") == null) {
        throw new BankException(res.getText(R.string.unable_to_find).toString() + " EventValidation.");
    }
    String eventValidation = e.attr("value");

    List<NameValuePair> postData = new ArrayList<NameValuePair>();
    postData.add(new BasicNameValuePair("__EVENTTARGET", "ctl00$MainContent$BtnLogin"));
    postData.add(new BasicNameValuePair("__EVENTARGUMENT", ""));
    postData.add(new BasicNameValuePair("__VIEWSTATE", viewState));
    postData.add(new BasicNameValuePair("__SCROLLPOSITIONX", "0"));
    postData.add(new BasicNameValuePair("__SCROLLPOSITIONY", "266"));
    postData.add(new BasicNameValuePair("__EVENTVALIDATION", eventValidation));
    postData.add(new BasicNameValuePair("ctl00$uiTopMenu$Search", ""));
    postData.add(new BasicNameValuePair("ctl00$MainContent$tbUsername", username));
    postData.add(new BasicNameValuePair("ctl00$MainContent$tbPassword", password));
    return new LoginPackage(urlopen, postData, response, "https://www.hemkop.se/Mina-sidor/Logga-in/");
}

From source file:jobhunter.monster.Client.java

public Job execute() throws IOException, URISyntaxException {
    l.debug("Connecting to {}", url);

    update("Connecting", 1L);
    final Document doc = Jsoup.connect(url).get();

    update("Parsing HTML", 2L);
    final Job job = Job.of();
    job.setPortal(MonsterPlugin.portal);
    job.setLink(url);//from   w  w w  .  j  av a  2 s . c  o m

    final Element form = doc.getElementById("forApply");

    job.setPosition(form.getElementById("jobPosition").attr("value"));
    job.setAddress(form.getElementById("jobLocation").attr("value"));
    job.setExtId(form.getElementById("jobID").attr("value"));
    job.getCompany().setName(form.getElementById("jobCompany").attr("value"));

    job.setDescription(StringEscapeUtils.unescapeHtml4(doc.getElementById("TrackingJobBody").html()));
    update("Done", 3L);
    return job;
}

From source file:com.dajodi.scandic.JSoupScraper.java

@Override
public MemberInfo scrapeMemberInfo(InputStream inStream) {

    Document doc;
    try {/*from w w  w.  j av a2s.c  o  m*/
        doc = Jsoup.parse(inStream, HTTP.UTF_8, "");

        Element accountOverview = doc.getElementById("AccountOverview");

        String points = getStringFromNode(accountOverview, "ctl00_MainBodyRegion_AccountOverview1_totalPoints",
                "?");
        String membershipNumber = getStringFromNode(accountOverview,
                "ctl00_MainBodyRegion_AccountOverview1_membershipNo", "?");
        String membershipLevel = getStringFromNode(accountOverview,
                "ctl00_MainBodyRegion_AccountOverview1_memberLevel", "?");
        String nights = getStringFromNode(accountOverview, "ctl00_MainBodyRegion_AccountOverview1_strngNights",
                "?");

        int qualNights = Util.UNKNOWN_NIGHTS;

        if ("?".equals(nights)) {
            boolean noTransactions = accountOverview
                    .select("#ctl00_MainBodyRegion_AccountOverview1_NoTransaction").size() == 1;
            if (noTransactions) {
                // as expected
                qualNights = Util.NO_NIGHTS;
            } else {
                Log.d("somethign really strange, number of nights could not be found");
            }
        } else {
            qualNights = Util.parseNumNights(nights);
        }

        MemberInfo.Level level = MemberInfo.Level.fromEnglishText(membershipLevel);

        List<ScandicStay> stays = getStays(accountOverview);

        MemberInfo memberInfo = new MemberInfo();
        memberInfo.setMembershipId(membershipNumber);
        memberInfo.setLevel(level);
        memberInfo.setPoints(Util.parseInt(points, Util.UNKNOWN_POINTS));
        memberInfo.setQualifyingNights(qualNights);
        memberInfo.setStaysLast12Months(stays);
        memberInfo.setLastUpdated(new Date());

        return memberInfo;

    } catch (IOException e) {
        throw new ScandicHtmlException(e);
    }

}

From source file:com.liato.bankdroid.banking.banks.Bioklubben.java

@Override
public void update() throws BankException, LoginException, BankChoiceException {
    super.update();
    if (username == null || password == null || username.length() == 0 || password.length() == 0) {
        throw new LoginException(res.getText(R.string.invalid_username_password).toString());
    }//w w w .ja  va 2  s .c o  m
    urlopen = login();
    try {
        Document d = Jsoup
                .parse(urlopen.open("http://bioklubben.sf.se/MyPurchases.aspx?ParentTreeID=1&TreeID=1"));
        Element e = d.getElementById("ctl00_ContentPlaceHolder1_BonusPointsLabel");
        if (e == null) {
            throw new BankException(res.getText(R.string.unable_to_find).toString() + " points element.");
        }
        BigDecimal b = Helpers.parseBalance(e.text());
        Account a = new Account("Pong", b, "1");
        a.setCurrency(context.getString(R.string.points));
        accounts.add(a);
        balance = balance.add(a.getBalance());

        Elements es = d.select(".GridViewStd_Item,.GridViewStd_ItemAlt");
        List<Transaction> transactions = new ArrayList<Transaction>();
        if (es != null) {
            for (Element el : es) {
                transactions.add(new Transaction(el.child(0).text().trim(), el.child(1).text().trim(),
                        Helpers.parseBalance(el.child(2).text())));
            }
        }
        a.setTransactions(transactions);

    } catch (IOException e) {
        if (e == null) {
            throw new BankException(e.getMessage());
        }
    }
    if (accounts.isEmpty()) {
        throw new BankException(res.getText(R.string.no_accounts_found).toString());
    }
    super.updateComplete();
}