Java Code Examples for org.jsoup.nodes.Document#getElementsByAttributeValue()
The following examples show how to use
org.jsoup.nodes.Document#getElementsByAttributeValue() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ViewTest.java From docker-registry-artifact-plugin with Apache License 2.0 | 6 votes |
@Test public void allFieldsShouldBePresentInView() throws Exception { final Document document = getDocument(); final List<ConfigMetadata> metadataList = getMetadataList(); for (ConfigMetadata field : metadataList) { final String name = field.getKey(); final Elements inputFieldForName = document.getElementsByAttributeValue("ng-model", name); assertThat(inputFieldForName).describedAs(format("No input/textarea defined for {0}", name)).hasSize(1); assertThat(inputFieldForName.get(0).attr("ng-class")) .describedAs(format("ng-class attribute is not defined on {0}", inputFieldForName)) .isEqualTo(format("'{'''is-invalid-input'': GOINPUTNAME[{0}].$error.server'}'", name)); final Elements spanToShowError = document.getElementsByAttributeValue("ng-class", format("'{'''is-visible'': GOINPUTNAME[{0}].$error.server'}'", name)); assertThat(spanToShowError).hasSize(1); assertThat(spanToShowError.attr("ng-show")).isEqualTo(format("GOINPUTNAME[{0}].$error.server", name)); assertThat(spanToShowError.text()).isEqualTo(format("'{{'GOINPUTNAME[{0}].$error.server'}}'", name)); } final Elements inputs = document.select("textarea, input, select"); assertThat(inputs).describedAs("should contains only inputs that defined in ElasticProfile.java").hasSize(metadataList.size()); }
Example 2
Source File: GetProfileViewExecutorTest.java From kubernetes-elastic-agents with Apache License 2.0 | 6 votes |
@Test public void allFieldsShouldBePresentInView() { String template = Util.readResource("/profile.template.html"); final Document document = Jsoup.parse(template); for (Metadata field : GetProfileMetadataExecutor.FIELDS) { if (field.getKey().equals(GetProfileMetadataExecutor.SPECIFIED_USING_POD_CONFIGURATION.getKey()) || field.getKey().equals(GetProfileMetadataExecutor.POD_SPEC_TYPE.getKey()) || field.getKey().equals(GetProfileMetadataExecutor.REMOTE_FILE_TYPE.getKey())) { continue; } final Elements inputFieldForKey = document.getElementsByAttributeValue("ng-model", field.getKey()); assertThat(inputFieldForKey, hasSize(1)); final Elements spanToShowError = document.getElementsByAttributeValue("ng-class", "{'is-visible': GOINPUTNAME[" + field.getKey() + "].$error.server}"); assertThat(spanToShowError, hasSize(1)); assertThat(spanToShowError.attr("ng-show"), is("GOINPUTNAME[" + field.getKey() + "].$error.server")); assertThat(spanToShowError.text(), is("{{GOINPUTNAME[" + field.getKey() + "].$error.server}}")); } final Elements inputs = document.select("textarea,input[type=text],select,input[type=checkbox]"); assertThat(inputs, hasSize(GetProfileMetadataExecutor.FIELDS.size() - 3)); // do not include SPECIFIED_USING_POD_CONFIGURATION, POD_SPEC_TYPE, REMOTE_FILE_TYPE key }
Example 3
Source File: GetClusterProfileViewRequestExecutorTest.java From kubernetes-elastic-agents with Apache License 2.0 | 6 votes |
@Test public void allFieldsShouldBePresentInView() { String template = Util.readResource("/plugin-settings.template.html"); final Document document = Jsoup.parse(template); for (Metadata field : GetClusterProfileMetadataExecutor.FIELDS) { final Elements inputFieldForKey = document.getElementsByAttributeValue("ng-model", field.getKey()); assertThat(inputFieldForKey, hasSize(1)); final Elements spanToShowError = document.getElementsByAttributeValue("ng-show", "GOINPUTNAME[" + field.getKey() + "].$error.server"); assertThat(spanToShowError, hasSize(1)); assertThat(spanToShowError.attr("ng-show"), is("GOINPUTNAME[" + field.getKey() + "].$error.server")); assertThat(spanToShowError.text(), is("{{GOINPUTNAME[" + field.getKey() + "].$error.server}}")); } final Elements inputs = document.select("textarea,input[type=text],select,input[type=checkbox]"); assertThat(inputs, hasSize(GetProfileMetadataExecutor.FIELDS.size() - 3)); // do not include SPECIFIED_USING_POD_CONFIGURATION, POD_SPEC_TYPE, REMOTE_FILE_TYPE key }
Example 4
Source File: GetAuthConfigViewRequestExecutorTest.java From github-oauth-authorization-plugin with Apache License 2.0 | 6 votes |
@Test public void allFieldsShouldBePresentInView() { String template = Util.readResource("/auth-config.template.html"); final Document document = Jsoup.parse(template); for (ProfileMetadata field : MetadataHelper.getMetadata(GitHubConfiguration.class)) { final Elements inputFieldForKey = document.getElementsByAttributeValue("ng-model", field.getKey()); int elementCount = field.getKey().equalsIgnoreCase("AuthenticateWith") ? 2 : 1; assertThat(format("Should have only one ng-model for %s", inputFieldForKey), inputFieldForKey, hasSize(elementCount)); final Elements spanToShowError = document.getElementsByAttributeValue("ng-class", "{'is-visible': GOINPUTNAME[" + field.getKey() + "].$error.server}"); assertThat(spanToShowError, hasSize(1)); assertThat(spanToShowError.attr("ng-show"), is("GOINPUTNAME[" + field.getKey() + "].$error.server")); assertThat(spanToShowError.text(), is("{{GOINPUTNAME[" + field.getKey() + "].$error.server}}")); } final Elements inputs = document.select("textarea,input,select"); //AuthenticateWith is coming twice as it is radio button assertThat(inputs, hasSize(MetadataHelper.getMetadata(GitHubConfiguration.class).size() + 1)); }
Example 5
Source File: GetRoleConfigViewRequestExecutorTest.java From github-oauth-authorization-plugin with Apache License 2.0 | 6 votes |
@Test public void allFieldsShouldBePresentInView() throws Exception { String template = Util.readResource("/role-config.template.html"); final Document document = Jsoup.parse(template); final List<ProfileMetadata> metadataList = MetadataHelper.getMetadata(GitHubRoleConfiguration.class); for (ProfileMetadata field : metadataList) { final Elements inputFieldForKey = document.getElementsByAttributeValue("ng-model", field.getKey()); assertThat(inputFieldForKey, hasSize(1)); final Elements spanToShowError = document.getElementsByAttributeValue("ng-class", "{'is-visible': GOINPUTNAME[" + field.getKey() + "].$error.server}"); assertThat(spanToShowError, hasSize(1)); assertThat(spanToShowError.attr("ng-show"), is("GOINPUTNAME[" + field.getKey() + "].$error.server")); assertThat(spanToShowError.text(), is("{{GOINPUTNAME[" + field.getKey() + "].$error.server}}")); } final Elements inputs = document.select("textarea,input,select"); assertThat("should contains only inputs that defined in GitHubRoleConfiguration.java",inputs, hasSize(metadataList.size())); }
Example 6
Source File: GetProfileViewExecutorTest.java From docker-swarm-elastic-agent-plugin with Apache License 2.0 | 6 votes |
@Test public void allFieldsShouldBePresentInView() { String template = Util.readResource("/profile.template.html"); final Document document = Jsoup.parse(template); for (Metadata field : GetProfileMetadataExecutor.FIELDS) { final Elements inputFieldForKey = document.getElementsByAttributeValue("ng-model", field.getKey()); assertThat(inputFieldForKey, hasSize(1)); final Elements spanToShowError = document.getElementsByAttributeValue("ng-class", "{'is-visible': GOINPUTNAME[" + field.getKey() + "].$error.server}"); assertThat(spanToShowError, hasSize(1)); assertThat(spanToShowError.attr("ng-show"), is("GOINPUTNAME[" + field.getKey() + "].$error.server")); assertThat(spanToShowError.text(), is("{{GOINPUTNAME[" + field.getKey() + "].$error.server}}")); } final Elements inputs = document.select("textarea,input,select"); assertThat(inputs, hasSize(GetProfileMetadataExecutor.FIELDS.size())); }
Example 7
Source File: TieBaApi.java From tieba-api with MIT License | 5 votes |
/** * 获取用户头像URL * @param username 用户id * @return result */ public String getHeadImg(String username){ try { HttpResponse response = hk.execute(Constants.NEW_HEAD_URL + username + "&ie=utf-8&fr=pb&ie=utf-8"); String result = EntityUtils.toString(response.getEntity()); Document doc = Jsoup.parse(result); Elements link = doc.getElementsByAttributeValue("class", "userinfo_head"); return link.select("img").attr("src"); } catch (Exception e) { logger.error(e.getMessage(), e); } return null; }
Example 8
Source File: TieBaApi.java From tieba-api with MIT License | 5 votes |
/** * 获取贴吧首页帖子tid列表 * @param tbName 贴吧id * @param replyNum 定义标志 根据回复数筛选(回复为0的帖子,抢二楼专用) * @return 帖子tid 数组 * 帖子链接:https://tieba.baidu.com/p/ + tid */ public List<String> getIndexTList(String tbName, Integer replyNum){ List<String> list = new ArrayList<String>(); try { HttpResponse response = hk.execute(Constants.TIEBA_GET_URL + "/f?kw=" + tbName + "&fr=index"); String result = EntityUtils.toString(response.getEntity()); if(StrKit.notBlank(result) && response.getStatusLine().getStatusCode() == 200){ Document doc_thread = Jsoup.parse(result); //解析出帖子code块 String tcode = doc_thread.getElementById("pagelet_html_frs-list/pagelet/thread_list") .html() .replace("<!--", "") .replace("-->", ""); //放入新的body解析 Document doc = Jsoup.parseBodyFragment(tcode); Elements link = doc.getElementsByAttributeValue("class", "j_th_tit "); //帖子链接(获取tid) Elements data = doc.getElementsByAttributeValueMatching("class", "j_thread_list.* clearfix"); //回复数,是否置顶 data-field for (int i = 0; i < link.size(); i++) { Element element = link.get(i); Integer reply= (Integer) JsonKit.getInfo("reply_num",data.get(i).attr("data-field")); Object isTop = JsonKit.getInfo("is_top",data.get(i).attr("data-field")); if(isTop != null && ("1".equals(isTop.toString()) || "true".equals(isTop.toString()))){//是置顶贴,默认不回复 所以在这里过滤掉 continue; } if(replyNum != null){ if(reply.intValue() == replyNum.intValue()){ list.add(element.attr("href").substring(3)); } }else{ list.add(element.attr("href").substring(3)); } } } } catch (Exception e) { logger.error(e.getMessage(), e); } return list; }
Example 9
Source File: VersionChecker.java From mobikul-standalone-pos with MIT License | 5 votes |
@Override protected String doInBackground(String... params) { try { Document doc = Jsoup.connect("https://play.google.com/store/apps/details?id=" + BuildConfig.APPLICATION_ID).get(); Elements element = doc.getElementsByAttributeValue("itemprop", "softwareVersion"); // .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6") // .referrer("http://www.google.com") if (element != null && !element.text().isEmpty()) newVersion = element.text(); } catch (IOException e) { e.printStackTrace(); } Log.d(TAG, "doInBackground: " + newVersion); return newVersion; }
Example 10
Source File: ParseCourse.java From ClassSchedule with Apache License 2.0 | 5 votes |
public static String parseViewStateCode(String html) { String code = ""; Document doc = org.jsoup.Jsoup.parse(html); Elements inputs = doc.getElementsByAttributeValue("name", Url.__VIEWSTATE); if (inputs.size() > 0) { code = inputs.get(0).attr("value"); } else { } return code; }
Example 11
Source File: GetTrendingsFromGithub.java From repairnator with MIT License | 5 votes |
public static void main(String[] args) throws IOException { String githubTrendingUrl = "https://github.com/trending/java/?since=weekly"; Document doc = Jsoup.connect(githubTrendingUrl).get(); Elements e = doc.getElementsByAttributeValue("class", "explore-content"); if (e.size() != 1) { System.err.println("Error when parsing the page (explore-content)"); System.exit(-1); } Elements ol = e.get(0).getElementsByTag("ol"); if (ol.size() != 1) { System.err.println("Error when parsing the page (ol)"); System.exit(-1); } Elements h3 = ol.get(0).getElementsByTag("h3"); List<String> results = new ArrayList<String>(); System.out.println("Nb trendings: "+h3.size()); for (Element project : h3) { String link = project.getElementsByTag("a").get(0).attr("href"); String slugName = link.substring(1); Repository repo = RepositoryHelper.getRepositoryFromSlug(slugName); if (repo != null) { Build b = repo.getLastBuild(false); if (b != null && b.getBuildTool() == BuildTool.MAVEN) { results.add(slugName); } } } System.out.println(StringUtils.join(results,"\n")); }
Example 12
Source File: VulnChecker.java From zap-extensions with Apache License 2.0 | 5 votes |
/** * Give a list of results appearing in the first result page for the key word in * packetstormsecurity.org * * @param appName * @param version * @return * @throws Exception */ public static ArrayList<String> fromPacketStorm(String appName, String version) throws Exception { // TODO extend this to fetch all result pages, currently it print only the 1st page ArrayList<String> res = new ArrayList<String>(); URL url = new URL("http://packetstormsecurity.org/search/files/?q=" + appName + "&s=files"); WebPage wp = new WebPage(url); Document document = wp.getDocument(); // System.out.println(document); if ((document.text().contains("Your Request Returned Nothing of Interest"))) { System.out.println("No Results Found in packetstormsecurity.org"); } else { Elements elts = document.getElementsByAttributeValue("class", "ico text-plain"); for (Element elt : elts) { Pattern p = Pattern.compile( "<a class=\"ico text-plain\" href=\"(.+)\" title=\"Size: (.+?) KB\">(.*)</a>"); Matcher m = p.matcher(elt.toString()); if (m.find()) { String href = elt.attr("href"); res.add(href); } } System.out.println("dad"); } return res; }
Example 13
Source File: AuthTest.java From mamute with Apache License 2.0 | 4 votes |
private Elements getElementsByAttributeAndValue(VRaptorTestResult navigationResult, String attributeName, String attributeValue) { Document document = Jsoup.parse(navigationResult.getResponseBody()); return document.getElementsByAttributeValue(attributeName, attributeValue); }