Я новичок в XPATH выражение,Найти Xpath элемента в содержание страницы HTML с использованием Java
У меня есть ниже URL:
который содержит HTML PageContent, используя следующие xpaths, он приводит к тому же ul-элементу в javascript:
//*[@id="moreStock_5257711"]
//*[@id="priceWrap"]/div[1]/div/a/following-sibling::ul
//html/body/div/div/div/div/div/div/div/div/div/div/a/following-sibling::ul
с помощью этого XPaths как sholud я получить такой же уль элемент в Java
Я попытался с помощью "HTML чистого" он не в XPath -
"//*[@id="priceWrap"]/div[1]/div/a/following-sibling::ul",
"//html/body/div/div/div/div/div/div/div/div/div/div/a/following-sibling::ul"
он работал для "// * [@ id = 'moreStock_5257711']" этого xpath. Итак ниже код, который я попробовал в HTML очистителя
package com.test.htmlcleaner.HtmlCleaner;
import java.io.IOException;
import org.htmlcleaner.CleanerProperties;
import org.htmlcleaner.HtmlCleaner;
import org.htmlcleaner.TagNode;
import org.htmlcleaner.XPatherException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class Test {
public static void main(String[] args) {
try {
HtmlCleaner htmCleaner = new HtmlCleaner();
CleanerProperties cleanerProperties = htmCleaner.getProperties();
cleanerProperties.setTranslateSpecialEntities(true);
cleanerProperties.setTransResCharsToNCR(true);
cleanerProperties.setOmitComments(true);
String s = "http://www.newark.com/white-rodgers/586-902/contactor-spst-no-12vdc-200a-bracket/dp/35M1913?MER=PPSO_N_P_EverywhereElse_None";
Document doc = Jsoup.connect(s).timeout(30000).userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2").get();
String pageContent=doc.toString();
TagNode node = htmCleaner.clean(pageContent);
Object[] statsNode = node.evaluateXPath("//*[@id='moreStock_5257711']");
if(statsNode.length > 0) {
for(int i=0;i<statsNode.length;i++){
TagNode resultNode = (TagNode)statsNode[i];
System.out.println("hi");
System.out.println("Element Text : " +resultNode.getText().toString().trim());
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XPatherException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Я обязательно все XPaths sholud работать с одним пакетом в Java
Может ли один предложить мне заставить работать все XPaths выражение получения уль элемента с помощью Java ,
Благодарим вас за внимание.
Покажите нам свой код Java. –
может предложить мне, если html cleaner не смог обработать какой пакет лучше всего получить все xpaths для работы 1. // * [@ id = "moreStock_5257711"] 2. // * [@ id = "priceWrap"]/div [1 ]/div/a/follow-sibling :: ul 3. // html/body/div/div/div/div/div/div/div/div/div/div/a/follow-sibling :: ul URL: http://www.newark.com/white-rodgers/586-902/contactor-spst-no-12vdc-200a-bracket/dp/35M1913?MER=PPSO_N_P_EverywhereElse_None – user3008819