2016-09-18 47 views
0

在我的python-Selenium代碼中,我應該使用很多try-catch來傳遞錯誤,如果我不使用它,我的腳本不會繼續。 例如,如果我不使用嘗試捕捉,如果我的腳本沒有找到desc span我將有一個錯誤,我無法繼續,如何通過錯誤而不嘗試在Python-Selenium中捕獲?

try : 
     libelle1produit = prod.find_element_by_css_selector(('.desc span')).text # libelle1produit OK 
    except: 
     pass 

是有傳遞錯誤的替代方法?

回答

2

是否有一種傳遞錯誤的替代方法?

是的,爲了避免try-catch並避免錯誤,以及嘗試使用find_elements,而不是如果沒有找到這將返回要麼匹配定位器或空列表中的所有元素的列表,你只是需要檢查列表的長度來確定該元素是否存在或不如下: -

libelle1produit = prod.find_elements_by_css_selector('.desc span') 

if len(libelle1produit) > 0 : 
    libelle1produit[0].text 
+0

是的也許我的例子不好,我應該爲定位器做什麼? – parik

+0

對不起,我不瞭解你.. –