Selenium XPath:查找带有文本或其他文本的元素

to6*_*o6y 0 c# selenium xpath text

我试图找出一种基于两个文本字符串使用 XPath 定位元素的方法。有问题的元素可以有文本 A 或文本 B,两者都是有效的,并且我需要根据该文本断言该元素是可见的。所以我需要一个像“//*...[contains(text(), 'A')] OR [contains(text(), 'B')]”这样的 XPath 表达式。这可能吗?这必须使用 XPath 1.0,因为它适用于 Selenium Webdriver。

我还没有找到任何方法来做到这一点,所以我目前正在检查 try-catch 中的第一个字符串,然后断言第二个字符串。

Pri*_*ske 6

是的,您可以使用 XPath 和OR逻辑条件,如下所示:

  • //*[包含(text(),'A') 或包含(text(),'B')]
  • //*[text()='exact_Text_1' 或 text()='exact_text_2']

  • //*[@class='abc' 或 @class='pqr']