首页 > 解决方案 > 如何在xpath中打印前面的兄弟姐妹

问题描述

我正在尝试使用 xpath 获取元素的前面的兄弟姐妹。

我正在寻找 2 个兄弟姐妹:

sibling_two = driver.find_elements_by_xpath("//span[contains(@class, 'tag')]/preceding-sibling::a[2]")
sibling_one = driver.find_elements_by_xpath("//span[contains(@class, 'tag')]/preceding-sibling::a[1]")

如果sibling_two不存在,我想输出sibling_one

这是我的代码,但它只输出sibling_two

if sibling_two:
    for i in sibling_two:
        print(i.text)
else:
    for a in sibling_one:
         print(a.text)

关于如何解决这个问题以输出sibling_onesibling_two值的任何想法?

感谢您花时间阅读我的问题并提供帮助。

标签: pythonseleniumif-statement

解决方案


不要使用if else,使用两个ifs:

if sibling_two:
    for i in sibling_two:
        print(i.text)
if sibling_one:
    for a in sibling_one:
         print(a.text)

推荐阅读