[Это ответ на дополнительный вопрос на мой первоначальный ответ .Извините, стекистопуристы пуристы!Комментарии не всегда работают.]
Да, это то, о чем я говорил ранее.".//text()[contains(.,searchText)]"
не использует переменную JavaScript searchText
, это просто строка.
Вы можете создать выражение XPath, используя searchText
.В JS отсутствует переменная интерполяция , поэтому вы должны создать выражение XPath, используя ручную конкатенацию, например:
var xpathExpr = ".//text()[contains(.,'" + searchText + "')]";
... , за исключением того, что это не удается , еслиsearchText включает в себя одну кавычку ('), поэтому вы должны избегать ее и, возможно, других символов, имеющих особое значение в этом контексте в XPath.Я не собираюсь выяснять для вас, что именно и как вам нужно избегать в searchText, это будет включать либо поиск в интернете существующего решения, либо чтение спецификации xpath для изучения грамматики в этом случае.
Так что я придерживаюсь своего первоначального ответа:
Что вы на самом деле пытаетесь сделать?Возможно, было бы лучше использовать интерфейсы, которые использует панель инструментов Firefox Find?