В xPath можно использовать операторы < > = и т.д. для поиска элементов по значению. Если на странице просто значение типа 78, то всё ок. А что делать, если значение с пробелом &thinsp ; ?
страница: http://rozetka.com.ua/vino/c4594285/filter/colour-70004=362655/
локатор: //div[@class=‘g-price-uah’][text()<70]
результат: имеем 3 бутылки красного вина стоимостью дешевле 70 грн
Задача
Требуется убрать из строки некоторые символы (например, пробельные).
Решение
XSLT 1.0
Воспользуйтесь функцией translate() с пустой строкой замены. Например, следующий код удаляет из строки все пробельные символы:
translate($input, "
", “”)
Может че то не понял, но попробуйте в Xpath использовать - substring() - возвращает строку вырезанную из строки начиная с указанного номера, второй параметр number (необязательный) — количество символов (string substring(‘string’, number, number)).
1.substring(‘Блок1вавав’, 1, 5) функция возьмет 5 символов, начиная с первого. Результат выполнения функции “Блок1”.
2. Выбираем все элементы в которых содержится атрибут @id с текстом ‘aq-block-880-2’. Далее текст ‘aq-block-880-2’ обрезаем 6 символов, начиная с 8 символа .
Ошибся, оказывается webdriver не поддерживает xpath 2.0, поэтому replace() не будет работать. Functions - XPath | MDN . Ограничиваю до пары вариантов Вообще на самом деле можно поигрываться с сабстрингом + позишн, высчитывая нужный позишн в случае если есть html entity символ. В любом случае выше - самый короткий вариант для этого. Попозже попробую сделать костыль из sub&position