在使用 Selenium 操作网页时,可以通过捕获异常的方式来处理错误,并通过截图来记录错误现场。下面是使用 Python 和 Selenium 的示例代码:
from selenium import webdriver
import traceback
# 创建浏览器对象
driver = webdriver.Chrome()
try:
# 打开网站
driver.get('https://www.example.com')
# 在此进行一些操作,比如输入用户名和密码、点击登录按钮等
except Exception as e:
# 捕获异常,并输出异常信息和堆栈轨迹
print('Exception:', str(e))
print(traceback.format_exc())
# 截取当前页面,并保存到本地
driver.get_screenshot_as_file('error.png')
finally:
# 关闭浏览器对象
driver.quit()
在上述代码中,我们首先创建了一个浏览器对象,并在 try
块中打开了一个网站并进行一些操作。如果在操作过程中出现异常,就会被捕获并记录异常信息和堆栈轨迹。然后,通过 get_screenshot_as_file()
方法对当前页面进行截图,并将其保存到本地文件。最后,无论是否发生异常,都要关闭浏览器对象。
在不使用 Selenium 的情况下,也可以通过 Python 的第三方库 Pillow 来实现对屏幕截图的操作,并在程序抛出异常时保存截图到本地。下面是一个简单的示例代码:
from PIL import ImageGrab
import traceback
try:
# 在此进行一些操作,比如打开网站、输入用户名和密码等
except Exception as e:
# 捕获异常,并输出异常信息和堆栈轨迹
print('Exception:', str(e))
print(traceback.format_exc())
# 截取整个屏幕
im = ImageGrab.grab()
# 保存截图到本地文件
im.save('error.png')
在上述代码中,我们首先在 try
块中进行了一些操作,如果出现异常,就会被捕获并记录异常信息和堆栈轨迹。然后,通过 Pillow 库的 ImageGrab.grab()
方法来截取整个屏幕,并将其保存到本地文件。