2013-10-08 58 views
3

我絕不是硒的專家,因此我虛心來這裏尋求幫助。執行下面的python腳本後,我想,如果它在打印之間失敗,我可以簡單地查看日誌,看看最後的打印效果。不幸的是,劇本繼續運行直到結束,並打印所有內容,無論它是否成功。這裏是我有:硒的Python - 如果元素不存在,那麼做到這一點,否則

print("Attempting, map zoom 4x.") 
driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click() 
driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click() 
driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click() 
driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click() 
print("Zoom in 4x. Successful") 

我試圖做的是以下幾點:

print("Attempting, map zoom 4x.") 
if driver.find_element_by_xpath ...... exists, 
then 
    driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click() 
    driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click() 
    driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click() 
    driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click() 
    print("Zoom in 4x. Successful") 
else 
    print("Element does not exist, it failed.") 

我怎麼會格式化此爲Python /硒?任何幫助表示讚賞。謝謝。

回答

3

你可以嘗試這樣的:

print("Attempting, map zoom 4x.") 
elem = driver.find_element_by_xpath('/xpath/to/your/element/here') 
if elem.is_displayed(): 
    elem.click() 
    print("Zoom in 4x. Successful") 
else: 
    print "Element is not visible" 
+0

感謝qaduderino,現在我要去嘗試這種權利。將報告結果。 – MacGruber

+0

看來硒掛在driver.find ....等。因爲它無法找到開頭的元素。我試着直接去if語句。如果driver.find_element_by_xpath(.....)is_displayed():這也失敗。 – MacGruber

+0

我找到了一個解決方案: – MacGruber

相關問題