2016-06-21 5 views
0

Есть ли TCL эквивалент:Tcl - Selenium WebDriver: поиск элемента div с помощью содержащегося текста?

driver.find_elements_by_xpath("//*[contains(text(), 'Lookup Network Elements')]")? 

Я пытаюсь запустить что-то вроде:

set networkButton [$window element by_xpath "//*\[@class=\"frost-button\"\]//div\[contains(\"Network\")\]"] 

Но это дает мне ошибку

::invalidSelectorError10 

ответ

4

Ваш содержит() неправильно, он не ищет элемент text(). Вы должны написать что-то вроде:

set networkButton [$window element by_xpath "//*\[@class=\"frost-button\"\]//div\[contains(text(), \"Network\")\]"] 

или

set networkButton [$window element by_xpath "//*\[@class=\"frost-button\"\]//div\[text()\[contains(., \"Network\")\]\]"] 
+1

В этом случае, я настоятельно рекомендую '{// * [@ класс = "кнопка иней"] // ДИВ [содержит (текст(), «Сеть»)]} 'или' {// * [@ class = "frost-button"] // div [text() [содержит (., "Network")]]} '. Нет смысла подавать чрезмерное избегание двойных кавычек, заставляющих вас, если вам не нужно подменять какую-то переменную или что-то в этом роде. Если вы * делаете * нужны двойные кавычки, используйте одинарные кавычки для внутреннего цитирования и помните, что вам не нужно избегать совпадающих правых скобок. –

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