最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python Selenium異常處理的實例分析

 更新時間:2021年02月28日 15:01:40   作者:小妮淺淺  
在本篇內(nèi)容里小編給大家分享了關于Python Selenium異常處理的實例分析內(nèi)容,對此有興趣的朋友們可以學習參考下。

1、說明

在使用selenium時,不可避免的會遇到一些異常情況,比如超時、沒有找到節(jié)點的錯誤等等。一旦出現(xiàn)這樣的錯誤,程序就不能再運行了。這里我們可以使用tryexcept語句來捕捉異常。

2、實例

from selenium import webdriver
from selenium.common.exceptions import TimeoutException, NoSuchElementException
browser = webdriver.Chrome()
try:
  browser.get('https://www.baidu.com')
except TimeoutException:
  print('超時')
try:
  browser.find_element_by_id('aa')
except NoSuchElementException:
  print('未找到節(jié)點')
finally:
browser.close()

關于異常處理的實例擴展:

我是Python的新手,我正在嘗試編寫一個使用硒登錄到Web應用程序并打印一些信息的nagios腳本。到目前為止,該腳本可以按預期工作,但是如果它無法檢索該網(wǎng)站,我希望它向系統(tǒng)發(fā)出警報。這是我所擁有的

#!/usr/bin/env python

import sys
from selenium import webdriver

url = '<main web site>'
systemInformation = '<sys information site>'
logout = '<log out link>'
browser = webdriver.PhantomJS('<path to phantomjs for headless operation>')
login_username = '<username>'
login_password = '<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)

我希望如果第一部分失敗,那么它將轉到except部分,但是即使有出口,腳本也會打印出try和except。我確定這很簡單,我很想念。

這就是我最終解決此問題的方式,感謝您的幫助

#!/usr/bin/env python

import sys, urllib2
from selenium import webdriver

url = '<log in url>'
systemInformation = '<sys info url>'
logout = '<logout url>'
browser = webdriver.PhantomJS('<phantomjs location for headless browser>')
login_username = '<user>'
login_password = '<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)或無,則默認為零(即成功)。如果狀態(tài)為整數(shù),則將其用作系統(tǒng)退出狀態(tài)。如果是另一種對象,則將其打印出來,并且系統(tǒng)退出狀態(tài)將為1(即失?。?。

刪除sys.exit(0)內(nèi)部try

到此這篇關于Python Selenium異常處理的實例分析的文章就介紹到這了,更多相關Python Selenium異常處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python中私有函數(shù)調(diào)用方法解密

    python中私有函數(shù)調(diào)用方法解密

    這篇文章主要介紹了python中私有函數(shù)調(diào)用方法,較為詳細的分析了Python私有函數(shù)的原理與調(diào)用技巧,需要的朋友可以參考下
    2016-04-04
  • Python下opencv使用hough變換檢測直線與圓

    Python下opencv使用hough變換檢測直線與圓

    在數(shù)字圖像中,往往存在著一些特殊形狀的幾何圖形,像檢測馬路邊一條直線,檢測人眼的圓形等等,有時我們需要把這些特定圖形檢測出來,本文就詳細的介紹了一下方法
    2021-06-06
  • Python基于Opencv來快速實現(xiàn)人臉識別過程詳解(完整版)

    Python基于Opencv來快速實現(xiàn)人臉識別過程詳解(完整版)

    這篇文章主要介紹了Python基于Opencv來快速實現(xiàn)人臉識別過程詳解(完整版)隨著人工智能的日益火熱,計算機視覺領域發(fā)展迅速,今天就為大家?guī)碜罨A的人臉識別基礎,從一個個函數(shù)開始走進這個奧妙的世界,需要的朋友可以參考下
    2019-07-07
  • 使用Flask創(chuàng)建簡單的圖片上傳站點的流程步驟

    使用Flask創(chuàng)建簡單的圖片上傳站點的流程步驟

    在網(wǎng)絡應用程序中,實現(xiàn)圖片上傳功能是一項常見的需求,Flask框架提供了簡單而靈活的工具,使得構建這樣的功能變得相對簡單,本文將介紹如何使用Flask框架創(chuàng)建一個簡單的圖片上傳站點,以及其中涉及的關鍵技術和步驟,需要的朋友可以參考下
    2024-05-05
  • python用socket傳輸圖片的項目實踐

    python用socket傳輸圖片的項目實踐

    使用python在網(wǎng)絡上傳送圖片數(shù)據(jù),需要以byte格式讀取圖片,這樣才可以通過socket傳輸,本文就來介紹了python用socket傳輸圖片的項目實踐,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • 基于Python編寫一個監(jiān)控CPU的應用系統(tǒng)

    基于Python編寫一個監(jiān)控CPU的應用系統(tǒng)

    在使用電腦辦公時,有時候不知道哪些軟件或進程會占用大量的資源,導致進行其他任務時出現(xiàn)變慢、卡頓等現(xiàn)象。因此,實時監(jiān)控系統(tǒng)的資源就變得非常重要。本文用Python編寫了一款超治愈的RunCat監(jiān)控應用系統(tǒng),需要的可以參考一下
    2022-06-06
  • Python正則表達式教程之一:基礎篇

    Python正則表達式教程之一:基礎篇

    正則表達式并不是Python的一部分。正則表達式是用于處理字符串的強大工具,擁有自己獨特的語法以及一個獨立的處理引擎,效率上可能不如str自帶的方法,但功能十分強大。下面這篇文章主要介紹了關于Python正則表達式基礎的相關資料,需要的朋友可以參考下。
    2017-03-03
  • Python中動態(tài)檢測編碼chardet的使用教程

    Python中動態(tài)檢測編碼chardet的使用教程

    最近利用python抓取一些網(wǎng)上的數(shù)據(jù),遇到了編碼的問題。非常頭痛,幸運的是找到了解決的方法,下面這篇文章主要跟大家介紹了關于Python中動態(tài)檢測編碼chardet的使用方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • 舉例講解Python編程中對線程鎖的使用

    舉例講解Python編程中對線程鎖的使用

    Python的threading模塊中提供了多種鎖的相關方法,Python的多線程不能同時執(zhí)行,因而鎖的使用非常關鍵,下面我們就來舉例講解Python編程中對線程鎖的使用:
    2016-07-07
  • 淺談Django學習migrate和makemigrations的差別

    淺談Django學習migrate和makemigrations的差別

    這篇文章主要介紹了淺談Django學習migrate和makemigrations的差別,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01

最新評論

陈巴尔虎旗| 乡宁县| 玛曲县| 扎兰屯市| 岗巴县| 厦门市| 罗源县| 滨州市| 玉环县| 永顺县| 南阳市| 黔南| 墨竹工卡县| 吉林市| 陈巴尔虎旗| 赤壁市| 交城县| 师宗县| 祁门县| 台江县| 奈曼旗| 丹巴县| 大石桥市| 句容市| 防城港市| 万全县| 朝阳县| 红安县| 班玛县| 太原市| 镇沅| 眉山市| 娄烦县| 瑞安市| 沅江市| 南投县| 廊坊市| 迁西县| 南通市| 靖安县| 仙游县|