from selenium import webdriver
from selenium.webdriver import ChromeOptions
from time import sleep
from PIL import Image
import requests class Get_ahth(): """
将验证码图片下到本地
"""
def __init__(self):
self.option = ChromeOptions()
self.option.add_experimental_option('excludeSwitches', ['enable-automation'])
self.bro = webdriver.Chrome(executable_path=r'D:\chromedriver', chrome_options=self.option)
self.bro.maximize_window()
self.url='http://www.cn200.cc/member/my.php?mid=5&action=add' def get_img_all(self):
bro = self.bro
bro.get(self.url)
js = "var q=document.documentElement.scrollTop=10000"
bro.execute_script(js)
bro.find_elements_by_id('answer')[0].click()
bro.find_elements_by_id('captcha')[0].click()
sleep(5)
bro.save_screenshot(r'photo.png') # 一次截图:形成全图 def get_img_num(self):
bro = self.bro
img_yz_2 = bro.find_elements_by_id('question')[0] left_2 = img_yz_2.location['x'] # 区块截图左上角在网页中的x坐标
top_2 = 778 # 区块截图左上角在网页中的y坐标
right_2 = left_2 + img_yz_2.size['width'] - 65 # 区块截图右下角在网页中的x坐标
bottom_2 = top_2 + img_yz_2.size['height'] + 14 # 区块截图右下角在网页中的y坐标
print({"left": left_2, "top": top_2, "right": right_2, "bottom ": bottom_2})
picture = Image.open(r'photo.png')
picture = picture.crop((left_2, top_2, right_2, bottom_2)) # 二次截图:形成区块截图
picture.save(r'photo3.png') def get_img_img(self):
bro = self.bro
img_yz = bro.find_elements_by_id('captchapng')[0]
left = img_yz.location['x'] # 区块截图左上角在网页中的x坐标
top = 835 # 区块截图左上角在网页中的y坐标
right = left + img_yz.size['width'] # 区块截图右下角在网页中的x坐标
bottom = top + img_yz.size['height'] + 14 # 区块截图右下角在网页中的y坐标
print({"left": left, "top": top, "right": right, "bottom ": bottom})
picture = Image.open(r'photo.png')
picture = picture.crop((left, top, right, bottom)) # 二次截图:形成区块截图
picture.save(r'photo2.png') def close(self):
self.bro.quit() def main(self):
self.get_img_all()
self.get_img_num()
self.get_img_img()
self.close() gg = Get_ahth()
gg.main()

selenium - 截图下载图片的更多相关文章

  1. selenium 右键下载图片,结合sikuli

    上一次写右键下载是结合robot,这次是使用selenium+sikuli 上一次日志:http://www.cnblogs.com/tobecrazy/p/3969390.html 有关sikuli ...

  2. selenium爬取优酷页面并下载图片

    from selenium import webdriver import requests driver = webdriver.Chrome() #打开优酷 driver.get("ht ...

  3. vue中点击按钮自动截图并下载图片

    点击一个按钮,截取对应区域的界面,才对截取的界面进行裁切并下载 下载    html2canvas    npm install html2canvas  --save 引用 : import htm ...

  4. Selenium获取动态图片验证码

    Selenium获取动态图片验证码 关于图片验证码的文章,我想大家都有一定的了解了. 在我们做UI自动化的时候,经常会遇到图片验证码的问题. 当开发不给咱们提供万能验证码,或者测试第三方网站比如知乎的 ...

  5. 用Scrapy爬虫下载图片(豆瓣电影图片)

    用Scrapy爬虫的安装和入门教程,这里有,这篇链接的博客也是我这篇博客的基础. 其实我完全可以直接在上面那篇博客中的代码中直接加入我要下载图片的部分代码的,但是由于上述博客中的代码已运行,已爬到快九 ...

  6. Android开发之异步获取并下载网络资源-下载图片和下载文本内容

    在android网络开发过程中,经常需要获取网络资源,比如下载图片,下载文本文件内容等,这个时候就需要http请求来获取相应的网络资源.首先看看实例效果图:              下载图片截图   ...

  7. 用python批量下载图片

    一 写爬虫注意事项 网络上有不少有用的资源, 如果需要合理的用爬虫去爬取资源是合法的,但是注意不要越界,前一阶段有个公司因为一个程序员写了个爬虫,导致公司200多个人被抓,所以先进入正题之前了解下什么 ...

  8. C++根据图片url下载图片

    需要使用到URLDownloadToFile()函数,该函数在头文件<urlmon.h>中声明. URLDownloadToFile()函数的定义如下: HRESULT URLDownlo ...

  9. .net 已知图片的网络路径,通过浏览器下载图片

    没什么技术含量,主要留给自己查找方便: 如题,知道图片的完整网络路径的情况下,在浏览器中下载图片的实现: 下面这个方法实现的是把图片读取为byte数组: private byte[] GetImage ...

随机推荐

  1. Tools: geos 使用指南

    1. 下载geos 2. 进入VS开发人员命令提示3.依次执行如下命令 >VCVARS32.BAT>cd D:\DevTool\geos-3.7.0>atuogen.bat>n ...

  2. 基于restframework进行token验证

    一般情况下,进入到web网站主页都需要进行token或者其它验证,不能在没有登录的情况下可以查看主页的内容,在用户输入用户名密码后,进行校验成功,后台会返回一个token,用于用于下次访问主页或其它页 ...

  3. 单源最短路径问题1 (Bellman-Ford算法)

    /*单源最短路径问题1 (Bellman-Ford算法)样例: 5 7 0 1 3 0 3 7 1 2 4 1 3 2 2 3 5 2 4 6 3 4 4 输出: [0, 3, 7, 5, 9] */ ...

  4. ASCII 对应表

    { Bin (二进制) Oct (八进制) Dec (十进制) Hex (十六进制) 缩写/字符 解释 0000 0000 00 0 0x00 NUL(null) 空字符 0000 0001 01 1 ...

  5. Linux grep 后通过 | 在次grep

    grep 'info' info.log|grep 'info2' 先筛选出 包含‘info’的信息,再次筛选出包含'info2'的信息

  6. 「题解」:x

    问题 A: x 时间限制: 1 Sec  内存限制: 256 MB 题面 题面谢绝公开. 题解 赛时想到了正解并且对拍了很久.对拍没挂,但是评测姬表示我w0了……一脸懵逼. 不难证明,如果对于两个数字 ...

  7. web音乐播放器

    今天闲暇时间,花了2小时,写了个简单音乐播放器.欢迎大家来吐糟 先看下界面截图 大体实现:播放,停止,上一曲,下一曲,循环播放功能. 知识点:1.html 中audio 2.css 位置fixed 其 ...

  8. kafka的消息组件

    kafka的组件的介绍 produer:消息的生产者,往topic当中生产消息 consumer:消息的消费者,从topic当中消费消息 broker:kafka的服务器 zookeeper:kafk ...

  9. NX二次开发-NXOpen方式遍历所有体workPart->Bodies();

    NX11+VS2013 #include <NXOpen/DisplayManager.hxx> #include <NXOpen/Body.hxx> #include < ...

  10. flutter 图片为空报错

    imgpath != null ? Image.network(imgpath) : Container() 如果不判断imgpath 为空 network 内的url 为空就会报错