我試圖用xpath獲得一個元素的前面的兄弟姐妹。
我正在尋找2個兄弟姐妹:
我正在尋找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_one和sibling_two值?
感謝您在百忙之中閱讀我的問題并提供幫助。
uj5u.com熱心網友回復:
不要使用if else,使用兩個if:
if sibling_two:
for i in sibling_two:
print(i.text)
if sibling_one:
for a in sibling_one:
print(a.text)
uj5u.com熱心網友回復:
你使用了find_elements,它在Python中會回傳一個list。
我不確定你是否真的想使用find_elements或者find_element。
如果你想使用find_elements
try:
if len(sibling_two) == 0:
print("我們要輸出sibling_one")
for i in sibling_one:
print(i.text)
else:
print("由于sibling_two似乎有什么東西在里面,我們會從中提取。")
for j in sibling_two:
print(j.text)
except:
print("Something went wrong")
pass("出錯了")
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/332641.html
標籤:
