文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在Python中使用Selenium对异常进行处理

2023-06-06 14:48

关注

这篇文章主要介绍了如何在Python中使用Selenium对异常进行处理,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!

python是什么意思

Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

实例

from selenium import webdriverfrom selenium.common.exceptions import TimeoutException, NoSuchElementExceptionbrowser = webdriver.Chrome()try:  browser.get('https://www.baidu.com')except TimeoutException:  print('超时')try:  browser.find_element_by_id('aa')except NoSuchElementException:  print('未找到节点')finally:browser.close()

关于异常处理的实例扩展:

我是Python的新手,我正在尝试编写一个使用硒登录到Web应用程序并打印一些信息的nagios脚本。到目前为止,该脚本可以按预期工作,但是如果它无法检索该网站,我希望它向系统发出警报。这是我所拥有的

#!/usr/bin/env pythonimport sysfrom selenium import webdriverurl = '<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 pythonimport sys, urllib2from selenium import webdriverurl = '<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])引发SystemExit(status)异常,这就是执行except子句的原因

通过提高SystemExit(status)退出解释器。如果省略状态或无,则默认为零(即成功)。如果状态为整数,则将其用作系统退出状态。如果是另一种对象,则将其打印出来,并且系统退出状态将为1(即失败)。

删除sys.exit(0)内部try

以上就是编程网小编为大家收集整理的如何在Python中使用Selenium对异常进行处理,如何觉得编程网网站的内容还不错,欢迎将编程网网站推荐给身边好友。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯