Как игнорировать мягкий дефис в Xpath 1.0? ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Как игнорировать мягкий дефис в Xpath 1.0?

Сообщение Anonymous »

Я пытаюсь найти следующую кнопку в Selenium (Java):

Код: Выделить всё

My But­ton
innerHTML и InnerText элемента возвращают только «Мою кнопку». Внешний html также возвращает значение без дефисов:

Код: Выделить всё

My Button
Ни один из ответов на подобные вопросы мне не помог, например:

Код: Выделить всё

   //bdi[translate(., '­', '') = 'My Button']
//bdi[translate(., '\u00AD', '') = 'My Button']
//bdi[contains(@id, 'Table') and contains(@id, 'Popup') and contains(translate(text(), '\u00AD', ''), 'My Button')]
//bdi[contains(@id, 'Table') and contains(@id, 'Popup') and contains(translate(., '\u00AD', ''), 'My Button')]
//bdi[contains(@id, 'Table') and contains(@id, 'Popup') and translate(text(), '\u00AD', '')='My Button']
//bdi[contains(@id, 'Table') and contains(@id, 'Popup') and translate(., '\u00AD', '')='My Button']
//bdi[translate(., '-', '') = 'My Button']
все они не могут найти кнопку. Если я укажу имя кнопки без мягких дефисов, xpaths будет работать нормально (поэтому я знаю, что проблема с дефисами). replace() не работает, так как я использую Xpath 1.0. Использование начинается с и заканчивается или содержит в этом случае бесполезно, так как эта проблема возникает с несколькими именами кнопок, и я ищу более универсальное решение, чем жесткое кодирование каждого из них. разрыв имени отдельно.
У меня есть только DOM для работы, моя команда не поддерживает никаких контактов с разработчиками, поэтому любая помощь будет оценена по достоинству. Мне бы хотелось понять, что здесь происходит.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -xpath-1-0

Вернуться в «JAVA»