用Python保存验证码图片的方法
在进行网络爬虫或者自动化测试时,有时候会遇到需要保存验证码图片的情况。本文将介绍如何使用Python和Selenium的find_element_by_css_selector方法来保存验证码图片。
Selenium简介
[Selenium](
保存验证码图片的步骤
要保存验证码图片,我们需要先找到页面中的验证码图片元素,然后获取该元素的src
属性,最后下载图片并保存到本地。
下面是保存验证码图片的详细步骤:
- 使用Selenium打开网页并定位验证码图片元素:
from selenium import webdriver
# 启动浏览器
driver = webdriver.Chrome()
driver.get("
# 定位验证码图片元素
captcha_img = driver.find_element_by_css_selector("img#captcha")
- 获取验证码图片的
src
属性:
captcha_src = captcha_img.get_attribute("src")
- 下载并保存验证码图片到本地:
import requests
# 发送HTTP请求获取验证码图片
response = requests.get(captcha_src)
# 保存验证码图片到本地
with open('captcha.jpg', 'wb') as f:
f.write(response.content)
完整代码示例
from selenium import webdriver
import requests
# 启动浏览器
driver = webdriver.Chrome()
driver.get("
# 定位验证码图片元素
captcha_img = driver.find_element_by_css_selector("img#captcha")
# 获取验证码图片的src属性
captcha_src = captcha_img.get_attribute("src")
# 下载并保存验证码图片到本地
response = requests.get(captcha_src)
with open('captcha.jpg', 'wb') as f:
f.write(response.content)
# 关闭浏览器
driver.quit()
总结
通过使用Python和Selenium的find_element_by_css_selector
方法,我们可以很方便地定位并保存验证码图片。这在许多网络爬虫和自动化测试的场景中都非常有用。希望本文对你有所帮助,欢迎尝试并探索更多有关Python和Selenium的功能!