在selenium上定位特定元素或在单个元素上检查多个内容 - Python 3

时间:2017-06-16 05:03:39

标签: python python-3.x selenium

假设我有这段代码:

<li attrib1="attrib1_text" attrib2="attrib2_text" another_attrib = "sometext"> ...
 </li>

我希望找到 attrib1 属性和 attrib2 属性,如果正确,则返回true,例如

if attrib1 == "attrib1_text" and attrib2 == "attrib2_text":
    return true

这样的事情就是我尝试过的:

domain_test = '//*[contains(@attrib1, "attrib1_text" and @attrib2, "attrib2_text")]'
driver = webdriver.Chrome()
try:
   elem = driver.find_element_by_xpath(domain_test)
   return True
except NoSuchElementException:
   return False

但是,它应返回True

时返回False

1 个答案:

答案 0 :(得分:0)

尝试简单地替换此谓词

[contains(@attrib1, "attrib1_text" and @attrib2, "attrib2_text")]

用这个

[contains(@attrib1, "attrib1_text") and contains(@attrib2, "attrib2_text")]

或者

[@attrib1="attrib1_text" and @attrib2="attrib2_text"]