2017-08-15 151 views
5

我試圖通過檢查元素存在蟒蛇硒

element=driver.find_element_by_partial_link_text("text") 

在Python硒定位元素和元素並不總是存在。是否有快速檢查它是否存在並在不存在錯誤消息的情況下獲取NULL或FALSE代替錯誤消息?

+0

「quick statement to check」的含義是什麼? Selenium不支持'語句'。你必須寫一行/一段代碼。 – DebanjanB

+0

'driver.find_element_by_partial_link_text(「text」)'是足夠快的方法來檢查元素是否存在......你能更清楚地知道你想要你的代碼做什麼嗎? – Andersson

+0

當元素不存在時,它會給出錯誤消息。當它不存在時可能獲得NULL或FALSE嗎? –

回答

7

可以實現如下try/except塊來檢查元件存在或不存在是否:

from selenium.common.exceptions import NoSuchElementException 

try: 
    element=driver.find_element_by_partial_link_text("text") 
except NoSuchElementException: 
    print("No element found") 

或檢查用相同的find_elements_...()方法之一。它應該會返回空白列表或傳遞選擇器匹配的元素列表,但在沒有找到元素的情況下不會出現異常:

elements=driver.find_elements_by_partial_link_text("text") 
if not elements: 
    print("No element found") 
else: 
    element = elements[0]