Как использовать xpath содержит специальный символ - PullRequest
0 голосов
/ 30 апреля 2018

Как выбрать xpath с текстом ""

Допустим, мой текст на странице: «мой текст» (включая «»).

Когда я делаю xpath, я делаю в VS:

"//td[contains(.,'"mytext">')]"

Но VS не считает это правильным, потому что он показывает mytext белым, как будто он не принадлежит xpath

Он говорит, что это синтаксическая ошибка, и он ожидает ','.

Так, как я могу сделать xpth, который использует контейнер, где текст имеет "".

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Ответ довольно прост, избегайте двойных кавычек:

"//td[contains(.,'\"mytext\">')]"

Это ссылка на то, какие символы нужно экранировать: https://blogs.msdn.microsoft.com/csharpfaq/2004/03/12/what-character-escape-sequences-are-available/

Надеюсь, это поможет.

0 голосов
/ 30 апреля 2018

Если контекст вашего XPath - XML, тогда экранируйте двойные кавычки с помощью ":

//td[contains(.,'"mytext">')]

См. Также: Упрощенный экранирование XML

Если контекст вашего XPat не является XML, вы можете попробовать

//td[contains(.,concat('"','mytext', '"', '>'))]

чтобы узнать, устраивает ли VS это выражение, или установить отдельную переменную для " константы, и постепенно собрать из нее ваш XPath.

Если это не помогает в вашем контексте, см. как избежать одиночной кавычки в функции подстроки xslt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...