2016-07-11 10 views
0

Vielen Dank für einen Blick. Ich habe in der Lage gewesen, unter Quellcode mit starts-with zu arbeiten, aber aus irgendeinem Grund, die ends-with nichtDas Eingabefeld konnte nicht gefunden werden - mit Schlüsselwort- Xpath

<input type="text" value="" name="email" style="background-color: rgb(248, 248, 248);"/>

//input[starts-with(@name,'ema')] funktioniert - Funktioniert absoultelty feinen

css=input[name*='ema'] - Adaequat

css=input[name$='ail'] - Funktioniert einwandfrei

//input[ends-with(@name,'ail')] - funktioniert nicht

//input[ends-with(@.,'ail')] - funktioniert nicht

Ich firepath 0.9.7.1.1 & auch versucht, in Version 1.0- kein Glück mit. Vielen Dank im Voraus Ich habe schon versucht Xpath "ends-with" does not work & es hat nicht geholfen.

+1

Mögliches Duplikat [XPath „ends-with“ funktioniert nicht] (http : //stackoverflow.com/questions/22436789/xpath-ends-with-does-not-work) – har07

+0

Bitte sagen Sie uns nicht, dass etwas "nicht funktioniert". Sag uns, wie es scheitert. –

+0

Also was ist der Fehler, den Sie bekommen. Sind Sie sicher, dass Ihre Eingabe einen Namen hat, der genau mit 'ail' endet? Überprüfen Sie, ob nach dem "Ail" Platz ist – vinod

Antwort

0

Die Funktion ends-with() benötigt XPath 2.0.

+0

Vielen Dank für Ihre Antwort. Ich habe das mit XPath 2.0 versucht und es funktioniert nicht. Von meiner Überraschung, die 'beginnt-mit'-Funktion arbeiten, aber nicht' endet-mit' @ har07 Ich habe bereits versucht, diesen Ansatz vor dem Posten dieser Abfrage. –

+1

Erzähl uns nicht, dass es nicht funktioniert, erzähle uns genau, was du getan hast und wie genau es scheitert. Es gibt zwei Möglichkeiten: Ihre XPath-Engine ist keine (konforme) XPath 2.0-Engine, oder Sie haben ends-with() falsch aufgerufen. Wenn Sie uns gesagt haben, wie es gescheitert ist, wären wir wahrscheinlich in der Lage, eine dieser Möglichkeiten zu eliminieren. –

0

FirePath unterstützt nur XPath 1.0. Von FirePath Beschreibung auf Mozilla Add-ons Seite:

FirePath ist eine Firebug-Erweiterung, die ein Entwicklungstool zu bearbeiten fügt, inspizieren und XPath 1.0 Ausdrücke, CSS 3-Selektoren und JQuery Selektoren (Sizzle Selektor-Engine) erzeugen.

So können Sie nicht ends-with() Funktion mit FirePath verwenden. Wie in der verknüpften Frage erklärt, müssen Sie manuelle Implementierung von ends-with() Funktionslogik mithilfe von XPath 1.0-Funktionen substring() und string-length() dh unterstützt greifen:

//input[substring(@name, string-length(@name) - string-length('ema') +1) = 'ema'] 
Verwandte Themen