2016-10-03 3 views
0

Ich finde alle HTML-Elemente in einer Seite, die eine bestimmte Zeichenfolge wie zum Beispiel <form action=/ method="GET"> unter Verwendung von HtmlUnitDriver (java) berechnen.Wie finde ich HTML-Elemente, die einer bestimmten Zeichenfolge entsprechen, mit HtmlUnitDriver mit Java?

Was ich tun würde, ist eine Web-Anwendung, die zwei Parameter in Eingaben nimmt:

  • url für
  • ein Muster

ich dieses Stück von Java-Code zu suchen haben:

HtmlUnitDriver browser = new HtmlUnitDriver(true); 
browser.get(urlParamter); 
List<WebElement> result = //find all HTML elements that match a certain pattern. 

Jetzt nehme ich an, dass ich einige Elemente auf dieser Seite suche:

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title></title> 
    <meta charset="utf-8" /> 
</head> 
<body> 
    <form id="form1"> 
    </form> 

    <form id="form2"> 
    </form> 

    <p class="test"></p> 
    <p class="test"></p> 
</body> 
</html> 

Wenn ich nach der Zeichenfolge <form id="form1"> suchen würde ich das erste Formelement erhalten, statt, wenn ich für <p class="test"> suche ich würde die beiden Absatzelemente erhalten. Ist es möglich? Alle Vorschläge werden geschätzt.

+0

@BreaksSoftware Ich bin am Anfang; Ehrlich gesagt, ich würde nicht wissen, wo ich anfangen soll; Ich habe es mit xpath versucht, aber ohne Ergebnis (ich bin am Anfang). Wo könnte ich nach einer Lösung suchen? – d3llafr33

Antwort

0

Probieren Sie einfach findElements() anstelle von findElement() mit dem xpath Ihren Text entspricht. Beispiel unten.

List<WebElement> result = browser.findElements(By.xpath("//[contains(text(),'yourtext')]")); 
Verwandte Themen