Python和Selenium xpath用于选择多个条件

时间:2018-03-23 23:15:16

标签: python-3.x selenium xpath selenium-webdriver

我在selenium中有以下代码,但仍然会出现语法错误。我试图根据多种条件选择元素。

choices = driver.find_elements_by_xpath("//div[contains(.,'5') and [contains(@class, 'option')]]")$

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:3)

根据 xpath ,您分享如下:

choices = driver.find_elements_by_xpath("//div[contains(.,'5') and [contains(@class, 'option')]]")$

你需要考虑一些事实:

  • 选择<div>代码的多种条件不能在嵌套[]内。您必须在一个[]内或多个[]内指定。
  • xpath 不应以不需要的字符结尾,例如$

解决方案

您可以通过以下任一方式重写xpath

choices = driver.find_elements_by_xpath("//div[contains(.,'5') and contains(@class, 'option')]")
# or
choices = driver.find_elements_by_xpath("//div[contains(.,'5')][contains(@class, 'option')]")