2016-07-11 2 views
0

Спасибо, что посмотрели. Я был в состоянии работать с starts-with для ниже исходного кода, но по какой-то причине, ends-with не работаетНевозможно найти поле ввода с концами - с ключевым словом - Xpath

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

//input[starts-with(@name,'ema')] - Работает absoultelty отлично

css=input[name*='ema'] - отлично работает

css=input[name$='ail'] - Работы мелкие

//input[ends-with(@name,'ail')] - не работает

//input[ends-with(@.,'ail')] - не работает

Я использую firepath 0.9.7.1.1 & также пытался в версии 1.0- не повезло. Спасибо заранее Я уже пробовал Xpath "ends-with" does not work & это не помогло.

+1

Возможный дубликат [Xpath «заканчивается, с» не работает] (HTTP : //stackoverflow.com/questions/22436789/xpath-ends-with-does-not-work) – har07

+0

Пожалуйста, не говорите нам, что что-то «не работает». Расскажите, как это не получается. –

+0

так что ошибка, которую вы получаете. Вы уверены, что у вашего ввода есть имя, которое заканчивается именно «ail»? проверьте, нет ли места после 'ail' – vinod

ответ

0

Для функции end-with() требуется XPath 2.0.

+0

Благодарим за отзыв. Я пробовал это с xpath 2.0, и он не работает. Из моего сюрприза работает функция 'start-with', но не' end-with' @ har07 Я уже пробовал этот подход перед отправкой этого запроса. –

+1

Не говорите нам, что это не работает, расскажите нам, что вы сделали, и точно, как он терпит неудачу. Есть две возможности: ваш движок XPath не является (совместимым) движком XPath 2.0, или вы неправильно написали end-with(). Если бы вы рассказали нам, как это провалилось, мы, вероятно, сможем устранить одну из этих возможностей. –

0

Firepath поддерживает только XPath 1.0. Из описания FirePath на Mozilla Add-ons странице:

FirePath является расширение Firebug, который добавляет инструмент для разработки в редактировать, проверять и генерировать XPath 1.0 выражения, CSS 3 селекторов и селекторов JQuery (Шипение селектор двигателя).

Таким образом, вы не можете использовать функцию ends-with() с FirePath. Как объяснялось в связанном вопросе, необходимо прибегать к ручной реализации ends-with() функции логики с использованием XPath 1.0 поддерживается функции, т.е. substring() и string-length():

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

 Смежные вопросы

  • Нет связанных вопросов^_^