Example usage for org.jsoup.nodes Element attr

List of usage examples for org.jsoup.nodes Element attr

Introduction

In this page you can find the example usage for org.jsoup.nodes Element attr.

Prototype

public String attr(String attributeKey) 

Source Link

Document

Get an attribute's value by its key.

Usage

From source file:eu.masconsult.bgbanking.banks.fibank.my.MyFIBankClient.java

private void performLogin(DefaultHttpClient httpClient, AuthToken authToken)
        throws ClientProtocolException, IOException, AuthenticationException {
    obtainAspSessionCookie(httpClient);//from w ww. ja va 2 s.c  o  m

    final ArrayList<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair(PARAM_USERNAME, authToken.username));
    params.add(new BasicNameValuePair(PARAM_PASSWORD, authToken.password));
    params.add(new BasicNameValuePair(PARAM_LOGINTYPE, PARAM_LOGINTYPE_VALUE_LOGIN));
    final HttpEntity entity;
    try {
        entity = new UrlEncodedFormEntity(params);
    } catch (final UnsupportedEncodingException e) {
        // this should never happen.
        throw new IllegalStateException(e);
    }

    HttpPost post = new HttpPost(LOGIN_URL);
    post.addHeader(entity.getContentType());
    post.setHeader("Accept", "*/*");
    post.setEntity(entity);

    HttpResponse resp = httpClient.execute(post);
    if (resp.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
        throw new AuthenticationException("Invalid credentials!");
    }

    String response = EntityUtils.toString(resp.getEntity());

    Document doc = Jsoup.parse(response, BASE_URL);

    Element selectora = doc.getElementById("selectora");
    if (selectora == null) {
        throw new ParseException("can't find #selectora");
    }
    Element form = selectora.getElementById("formPageSelector");
    if (form == null) {
        throw new ParseException("can't find #formPageSelector");
    }
    Element input = form.getElementById("LogSesID");
    if (input == null) {
        throw new ParseException("can't find #LogSesID");
    }

    authToken.sessionId = input.attr("value");
}

From source file:com.astamuse.asta4d.web.form.field.impl.AbstractRadioAndCheckboxRenderer.java

protected Renderer retrieveAndCreateValueMap(final String editTargetSelector,
        final String displayTargetSelector) {
    Renderer render = Renderer.create();
    if (PrepareRenderingDataUtil.retrieveStoredDataFromContextBySelector(editTargetSelector) == null) {

        final List<Pair<String, String>> inputList = new LinkedList<>();

        final List<OptionValuePair> optionList = new LinkedList<>();

        render.add(editTargetSelector, new ElementSetter() {
            @Override/* www . ja v a2 s. com*/
            public void set(Element elem) {
                inputList.add(Pair.of(elem.id(), elem.attr("value")));
            }
        });

        render.add(":root", new Renderable() {
            @Override
            public Renderer render() {
                Renderer render = Renderer.create();
                for (Pair<String, String> input : inputList) {
                    String id = input.getLeft();
                    final String value = input.getRight();
                    if (StringUtils.isEmpty(id)) {
                        if (allowNonIdItems()) {
                            optionList.add(new OptionValuePair(value, value));
                        } else {
                            String msg = "The target item[%s] must have id specified.";
                            throw new IllegalArgumentException(String.format(msg, editTargetSelector));
                        }
                    } else {
                        render.add(SelectorUtil.attr("for", id), Renderer.create("label", new ElementSetter() {
                            @Override
                            public void set(Element elem) {
                                optionList.add(new OptionValuePair(value, elem.text()));
                            }
                        }));
                        render.add(":root", new Renderable() {
                            @Override
                            public Renderer render() {
                                PrepareRenderingDataUtil.storeDataToContextBySelector(editTargetSelector,
                                        displayTargetSelector, new OptionValueMap(optionList));
                                return Renderer.create();
                            }
                        });
                    }
                } // end for loop
                return render;
            }
        });
    }
    return render;
}

From source file:com.iorga.iraj.servlet.AgglomeratorServlet.java

private void parseResource(final ServletConfig config, final String path)
        throws IOException, URISyntaxException {
    //TODO catch the modifications on the path itself
    final URL pathUrl = config.getServletContext().getResource(path);
    long lastModified = pathUrl.openConnection().getLastModified();
    final InputStream targetIS = pathUrl.openStream();
    final Document document = Jsoup.parse(targetIS, "UTF-8", "");
    final Elements elements = document.getElementsByAttribute(ATTRIBUTE_NAME);
    for (final Element element : elements) {
        // each element which defines iraj-agglomerate
        // retrieve the suffix
        final String suffix = element.attr(ATTRIBUTE_NAME);
        final String urlAttribute = element.attr(URL_ATTRIBUTE_ATTRIBUTE_NAME);
        String src = StringUtils.removeEndIgnoreCase(element.attr(urlAttribute), suffix);
        String prefix = "";
        if (!src.startsWith("/")) {
            // this is not an absolute file, let's add the prefix from the given path
            prefix = StringUtils.substringBeforeLast(path, "/") + "/";
            src = prefix + src;/*w w w . ja v a  2 s  .co m*/
        }
        // searching all scripts inside the folder defined by src attribute
        lastModified = searchAndAppendAfter(config, element, src, prefix, suffix, urlAttribute, lastModified);
        // finally remove it
        element.remove();
    }

    caches.put(path, new ParsedResourceCacheEntry(path, document, lastModified));
}

From source file:net.devietti.ArchConfMapServlet.java

/**
 * Returns the URL of the external conference website (not the WikiCFP page) for the given
 * eventid.//  w w  w. jav  a  2 s.  c  o m
 */
private void getConfLink(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    String eids = req.getParameter("eventid");
    if (eids == null) {
        error("missing required URL parameter: eventid");
        return;
    }
    Integer eid;
    try {
        eid = Integer.valueOf(eids);
    } catch (NumberFormatException e) {
        error(e.getMessage());
        return;
    }
    if (eid == null || eid == 0) {
        error("error parsing eventid");
        return;
    }

    // pull down the CFP
    Document cfp = getURL("http://www.wikicfp.com/cfp/servlet/event.showcfp?eventid=" + eids);

    for (Element a : cfp.select("tr td[align=center] a")) {
        Element td = a.parent();
        if (td.text().contains("Link:") && a.hasAttr("href") && a.attr("href").contains("http://")) {
            // got the link!
            resp.setContentType("application/json");
            resp.getWriter().println(GSON.toJson(a.attr("href")));
            return;
        }
    }

    error("no matching link");
}

From source file:nl.phanos.liteliveresultsclient.LoginHandler.java

public Object[] getEigenWedstrijden() throws Exception {
    ArrayList<Wedstrijd> wedstrijden = new ArrayList<Wedstrijd>();
    String content = GetPageContent(
            "https://www.atletiek.nu/feeder.php?page=search&do=events&search=&predefinedSearchTemplate=3");
    Element overview = Jsoup.parse(content).getElementById("overview").getElementsByTag("tbody").first();
    Elements rows = overview.getElementsByTag("tr");
    for (Element row : rows) {
        if (row.hasAttr("onclick")) {
            try {
                Wedstrijd w = new Wedstrijd();
                String[] split = row.attr("onclick").split("/");
                w.id = split[split.length - 2];
                w.date = row.getElementsByTag("td").first().text();
                w.club = row.getElementsByTag("td").get(3).text().replace(" ", "").replace(",", "");
                w.name = w.date + " - "
                        + row.getElementsByTag("td").get(1).getElementsByClass("hidden-xs").first().text();
                wedstrijden.add(w);// w ww  . j ava 2  s  . c  om
            } catch (Exception e) {
                System.out.println(e);
            }
        }
    }
    return wedstrijden.toArray();
}

From source file:com.amastigote.xdu.query.module.EduSystem.java

private void preLogin() throws IOException {
    URL url = new URL(SYS_HOST);
    HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
    httpURLConnection.setInstanceFollowRedirects(false);
    httpURLConnection.connect();//from   w  w w. ja v a 2  s  .  co m
    List<String> cookies_to_set_a = httpURLConnection.getHeaderFields().get("Set-Cookie");
    for (String e : cookies_to_set_a)
        if (e.contains("JSESSIONID="))
            SYS_JSESSIONID = e.substring(e.indexOf("JSESSIONID=") + 11, e.indexOf(";"));
    httpURLConnection.disconnect();

    httpURLConnection = (HttpURLConnection) url.openConnection();
    httpURLConnection.setInstanceFollowRedirects(true);
    httpURLConnection.connect();

    List<String> cookies_to_set = httpURLConnection.getHeaderFields().get("Set-Cookie");
    for (String e : cookies_to_set) {
        if (e.contains("route="))
            ROUTE = e.substring(6);
        else if (e.contains("JSESSIONID="))
            LOGIN_JSESSIONID = e.substring(11, e.indexOf(";"));
        else if (e.contains("BIGipServeridsnew.xidian.edu.cn="))
            BIGIP_SERVER_IDS_NEW = e.substring(32, e.indexOf(";"));
    }

    BufferedReader bufferedReader = new BufferedReader(
            new InputStreamReader(httpURLConnection.getInputStream()));
    String html = "";
    String temp;

    while ((temp = bufferedReader.readLine()) != null) {
        html += temp;
    }

    Document document = Jsoup.parse(html);
    Elements elements = document.select("input[type=hidden]");

    for (Element element : elements) {
        switch (element.attr("name")) {
        case "lt":
            LOGIN_PARAM_lt = element.attr("value");
            break;
        case "execution":
            LOGIN_PARAM_execution = element.attr("value");
            break;
        case "_eventId":
            LOGIN_PARAM__eventId = element.attr("value");
            break;
        case "rmShown":
            LOGIN_PARAM_rmShown = element.attr("value");
            break;
        }
    }
}

From source file:com.astamuse.asta4d.web.form.field.impl.AbstractRadioAndCheckboxRenderer.java

protected Renderer addAlternativeDom(final String editTargetSelector, final List<String> valueList) {
    Renderer renderer = Renderer.create();

    // renderer.addDebugger("entry root");

    // renderer.addDebugger("entry root:edit target:", editTargetSelector);

    final List<String> matchedIdList = new LinkedList<>();
    final List<String> unMatchedIdList = new LinkedList<>();

    renderer.add(editTargetSelector, new ElementSetter() {
        @Override/*from w ww.j ava2  s  .c  o  m*/
        public void set(Element elem) {
            if (valueList.contains((elem.attr("value")))) {
                matchedIdList.add(elem.id());
            } else {
                unMatchedIdList.add(elem.id());
            }
        }
    });

    renderer.add(":root", new Renderable() {
        @Override
        public Renderer render() {
            Renderer renderer = Renderer.create().disableMissingSelectorWarning();

            // renderer.addDebugger("before hide unmatch");
            // renderer.addDebugger("before add match");

            if (matchedIdList.isEmpty()) {
                renderer.add(addDefaultAlternativeDom(editTargetSelector, valueList));
            } else {
                // do nothing for remaining the existing label element
                // but we still have to revive the possibly existing duplicate container
                for (final String inputId : matchedIdList) {
                    final List<String> matchedDuplicatorRefList = new LinkedList<>();
                    final String labelRefSelector = SelectorUtil.attr(RadioPrepareRenderer.LABEL_REF_ATTR,
                            inputId);
                    final String labelDefaultSelector = SelectorUtil.attr(SelectorUtil.tag("label"), "for",
                            inputId);
                    renderer.add(labelRefSelector, new ElementSetter() {
                        @Override
                        public void set(Element elem) {
                            String ref = elem.attr(RadioPrepareRenderer.DUPLICATOR_REF_ATTR);
                            if (StringUtils.isNotEmpty(ref)) {
                                matchedDuplicatorRefList.add(ref);
                            }
                        }
                    });
                    renderer.add(new ElementNotFoundHandler(labelRefSelector) {
                        @Override
                        public Renderer alternativeRenderer() {
                            return Renderer.create(labelDefaultSelector, new ElementSetter() {
                                @Override
                                public void set(Element elem) {
                                    String ref = elem.attr(RadioPrepareRenderer.DUPLICATOR_REF_ATTR);
                                    if (StringUtils.isNotEmpty(ref)) {
                                        matchedDuplicatorRefList.add(ref);
                                    }
                                }// end set
                            });
                        }// end alternativeRenderer
                    });// end ElementNotFoundHandler
                    renderer.add(":root", new Renderable() {
                        @Override
                        public Renderer render() {
                            Renderer renderer = Renderer.create().disableMissingSelectorWarning();
                            for (String ref : matchedDuplicatorRefList) {
                                renderer.add(
                                        SelectorUtil.attr(RadioPrepareRenderer.DUPLICATOR_REF_ID_ATTR, ref),
                                        ToBeHiddenLaterFlagAttr, Clear);
                            }
                            renderer.add(labelRefSelector, ToBeHiddenLaterFlagAttr, Clear);
                            renderer.add(labelDefaultSelector, ToBeHiddenLaterFlagAttr, Clear);
                            return renderer.enableMissingSelectorWarning();
                        }
                    });
                }
            }
            return renderer.enableMissingSelectorWarning();
        }
    });

    return renderer;

}

From source file:com.astamuse.asta4d.web.form.flow.base.AbstractFormFlowSnippet.java

protected Renderer hideCascadeFormTemplateDOM(Class<?> subFormType) {
    return Renderer.create(":root", new ElementSetter() {
        @Override/*w w w.  jav a 2 s.co m*/
        public void set(Element elem) {
            String style = elem.attr("style");
            if (StringUtils.isEmpty(style)) {
                style = "display:none";
            } else {
                if (!style.endsWith(";")) {
                    style += ";";
                }
                style += "display:none";
            }
            elem.attr("style", style);
        }
    });
}

From source file:io.seldon.importer.articles.dynamicextractors.FirstElementAttrValueDateDynamicExtractor.java

@Override
public String extract(AttributeDetail attributeDetail, String url, Document articleDoc) throws Exception {

    String attrib_value = null;/*www . j a v  a  2  s .  co m*/

    if ((attributeDetail.extractor_args != null) && (attributeDetail.extractor_args.size() >= 2)) {
        String cssSelector = attributeDetail.extractor_args.get(0);
        Element element = articleDoc.select(cssSelector).first();
        if (StringUtils.isNotBlank(cssSelector)) {
            int arg_count = 0;
            for (String value_name : attributeDetail.extractor_args) {
                if (arg_count > 0) { // skip the first one, its the cssSelector
                    if (element != null && element.attr(value_name) != null) {
                        attrib_value = element.attr(value_name);
                        if (StringUtils.isNotBlank(attrib_value)) {
                            break;
                        }
                    }
                }
                arg_count++;
            }
        }
    }

    if (attrib_value != null) {
        String pubtext = attrib_value;
        SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.ENGLISH);
        Date result = null;
        try {
            result = df.parse(pubtext);
        } catch (ParseException e) {
            logger.info("Failed to parse date withUTC format " + pubtext);
        }
        // try a simpler format
        df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
        try {
            result = df.parse(pubtext);
        } catch (ParseException e) {
            logger.info("Failed to parse date " + pubtext);
        }

        if (result != null) {
            attrib_value = dateFormatter.format(result);
        } else {
            logger.error("Failed to parse date " + pubtext);
        }
    }

    return attrib_value;
}