採取
from selenium.common.exceptions import NoSuchElementException
found = False
while not found:
try:
link = driver.find_element_by_xpath(linkAddress)
found = True
except NoSuchElementException:
time.sleep(2)
示例代碼我碰到了同樣的問題,這個問答&塊是改變遊戲規則。我通過Saifur調整了給定的代碼也符合我的需求,我相信類似這樣的問題的請求:
elementlist = []
found = False
while not found:
try:
element_ = browser.find_element_by_xpath("//*[@class='class' and (contains(text(),'Optional-text-contain'))]")
if element_.is_displayed():
value = element_.find_element_by_css_selector("*")
elementlist.append(value.text)
print("Element: " + value.text)
found = True
except NoSuchElementException:
elementlist.append("N/A")
print("Element: N/A")
found = True
該代碼查找的頁面內交替元素(有時存在,有時沒有)。如果存在,它會給出它的價值。如果不是 - 繼續正常,同時在列表中追加一個「NaN」風格的值,以便與稍後的DFing匹配軸
再次,Saifur在此問題上提供了巨大的幫助。謝謝user3691239提出這個問題,並提到它爲你工作後,一個小調整。
問題是什麼? – Saifur
我想要去else語句,但是當元素沒有顯示時,我會得到一個異常,而不是打印(「找不到」) – user3671239
什麼異常? – Saifur