List of usage examples for org.jsoup.nodes Element attr
public String attr(String attributeKey)
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; }