xPath:选择多个以下元素之一(如果存在)(或)

时间:2016-06-19 17:21:32

标签: python xml selenium xpath

使用xPath for Selenium,我想查找一个跟随条件父节点的元素。但是,我希望它能够在节点之后寻找多个

有没有办法选择条件节点后面的元素,如spanp 如果 其中一个存在?

try:
    elmnt = driver.find_element_by_xpath(
                                        ("//*[text()[contains(., 'myConditionString')]]" + 
                                        "/following::span or following::p") #← Find this 
                                        ).text
except:
    pass
else:
    print elmnt

xPath应该同时寻找:

<root>
    <b>myConditionString</b>
        <span>Find me!</span>
</root>

同时:

<root>
    <b>myConditionString</b>

    <p>Find me!</p>
</root>

1 个答案:

答案 0 :(得分:1)

尝试关注XPath并告诉我它是否仍然不正确:

driver.find_element_by_xpath('//b[text()="myConditionString"]/span[text()="Find me!"] | //b[text()="myConditionString"]/p[text()="Find me!"]')