C # -Selenium: как использовать содержит, чтобы найти текст между двумя элементами? - PullRequest
0 голосов
/ 16 октября 2019

Я хотел бы использовать один xpath для проверки обоих ниже (span и option). Как мы можем это сделать?

//Span
webDriver.FindElement(By.XPath("//div[@class='someClass']//span[contains(text(),'Some text 1')]")).Displayed

//Option
webDriver.FindElement(By.XPath("//div[@class='someClass']//option[contains(text(),'SOme text 2')]")).Displayed

Я пробовал ниже xpaths, ни один из них не работал, что может быть не так?

webDriver.FindElement(By.XPath("//div[@class='someClass' and contains(text(), 'Some text 1')]"))
webDriver.FindElement(By.XPath("//div[@class='someClass'] and [contains(text(),'Some text 1')]"))
webDriver.FindElement(By.XPath("//div[@class='someClass'][contains(text(),'Some text 1')]"))
webDriver.FindElement(By.XPath("//div[@class='someClass'] and (text(),'Some text 1')"))

Пожалуйста, проверьте.

1 Ответ

1 голос
/ 16 октября 2019

Чтобы сопоставить span и option с одним xpath, вы можете использовать подстановочный знак *.

//div[@class='someClass']//*[contains(text(),'Some text 1')]

Также отметьте XPath, чтобы выбрать несколько тегов , если вы хотите выбрать толькоохватывает и варианты с этим текстом, а не любые другие типы элементов.

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