這篇文章主要介紹了如何在Python中使用Selenium對異常進(jìn)行處理,創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,小編覺得不錯(cuò),現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,小編來看看吧!
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括榆林網(wǎng)站建設(shè)、榆林網(wǎng)站制作、榆林網(wǎng)頁制作以及榆林網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,榆林網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到榆林省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!Python是一種跨平臺的、具有解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語言,其最初的設(shè)計(jì)是用于編寫自動(dòng)化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨(dú)立的項(xiàng)目和大型項(xiàng)目。
from selenium import webdriver from selenium.common.exceptions import TimeoutException, NoSuchElementException browser = webdriver.Chrome() try: browser.get('https://www.baidu.com') except TimeoutException: print('超時(shí)') try: browser.find_element_by_id('aa') except NoSuchElementException: print('未找到節(jié)點(diǎn)') finally: browser.close()
關(guān)于異常處理的實(shí)例擴(kuò)展:
我是Python的新手,我正在嘗試編寫一個(gè)使用硒登錄到Web應(yīng)用程序并打印一些信息的nagios腳本。到目前為止,該腳本可以按預(yù)期工作,但是如果它無法檢索該網(wǎng)站,我希望它向系統(tǒng)發(fā)出警報(bào)。這是我所擁有的
#!/usr/bin/env python import sys from selenium import webdriver url = '' systemInformation = ' ' logout = ' ' browser = webdriver.PhantomJS(' ') login_username = ' ' login_password = ' ' try: browser.get(url) username = browser.find_element_by_name("username") password = browser.find_element_by_name("password") username.send_keys(login_username) password.send_keys(login_password) link = browser.find_element_by_name('loginbutton') link.click() browser.get(systemInformation) print "OK: Web Application is Running" for element in browser.find_elements_by_name('SystemReportsForm'): print element.text browser.get(logout) browser.quit() sys.exit(0) except: print "WARNING: Web Application is Down!" sys.exit(2)
我希望如果第一部分失敗,那么它將轉(zhuǎn)到except部分,但是即使有出口,腳本也會(huì)打印出try和except。我確定這很簡單,我很想念。
這就是我最終解決此問題的方式,感謝您的幫助
#!/usr/bin/env python import sys, urllib2 from selenium import webdriver url = '' systemInformation = ' ' logout = ' ' browser = webdriver.PhantomJS(' ') login_username = ' ' login_password = ' ' def login(login_url,status_url): browser.get(login_url) username = browser.find_element_by_name("username") password = browser.find_element_by_name("password") username.send_keys(login_username) password.send_keys(login_password) link = browser.find_element_by_name('loginbutton') link.click() browser.get(status_url) if browser.title == 'Log In': print "WARNING: Site up but Failed to login!" browser.get(logout) browser.quit() sys.exit(1) else: print "OK: Everything Looks Good" for element in browser.find_elements_by_name('SystemReportsForm'): print element.text browser.get(logout) browser.quit() sys.exit(0) req = urllib2.Request(url) try: urllib2.urlopen(req) login(url,systemInformation) except urllib2.HTTPError as e: print('CRITICAL: Site Appears to be Down!') browser.get(logout) browser.quit() sys.exit(2)
解決方案
sys.exit([status])引發(fā)SystemExit(status)異常,這就是執(zhí)行except子句的原因
通過提高SystemExit(status)退出解釋器。如果省略狀態(tài)或無,則默認(rèn)為零(即成功)。如果狀態(tài)為整數(shù),則將其用作系統(tǒng)退出狀態(tài)。如果是另一種對象,則將其打印出來,并且系統(tǒng)退出狀態(tài)將為1(即失?。?。
刪除sys.exit(0)內(nèi)部try
以上就是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,小編為大家收集整理的如何在Python中使用Selenium對異常進(jìn)行處理,如何覺得創(chuàng)新互聯(lián)建站的內(nèi)容還不錯(cuò),歡迎將創(chuàng)新互聯(lián)建站推薦給身邊好友。