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. Simple example of use of __setstate__ and __getstate__

    class Foo(object): def __init__(self, val=2): self.val = val def __getstate__(self): print ("I' ...

  2. Ubuntu 16.04 PHP5.6

    Cannot add PPA: 'ppa:ondrej/php5-5.6' Ubuntu 16.04 PHP5.6 安装 Apache + PHP 5.6 + mysql 5.5 系统: Ubuntu ...

  3. 从psd图中将图层导出成单独文件

  4. 清除浏览器默认样式——css reset & normalize.css

    css reset 自己挨个清除很麻烦 可以使用网上一些css库——css reset 把模板复制到css文件最上方,其他的样式我们自己编写来覆盖它们 但是这个也有一些弊端,会把一些本来需要的样式给清 ...

  5. Dart编程字符串

    String数据类型表示一系列字符.Dart字符串是一系列UTF 16代码单元. Dart中的字符串值可以使用 单引号 或 双引号 或 三引号 表示.单行字符串使用单引号或双引号表示.三引号用于表示多 ...

  6. Android下载Android源码

    使用Git,命令是:git clone http://android.googlesource.com/platform/frameworks/base.git

  7. IDea 工具debug模式详细使用说明

    IDea 工具debug模式详细使用说明 IDEA中如何使用debug调试项目 一步一步详细教程 Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生 ...

  8. Python 文件处理一

    1.路径下所有文件(不包含子文件) import os dirs = os.listdir(path) 注:dirs 是一个list 2.遍历路径下所有文件 def file_name(file_di ...

  9. 20130313 word 公式与文字对齐

    1. 就是这儿 然后是这儿 2.这种错误很可能就是进入了死循环 3.复习了字符串现场编写 1.strstr(const char *string, const char *substring):查找s ...

  10. JQuery AJAX 通过一般处理程序 取列表

    由于上一篇的积累 这一个就简单了 也就是把反回了字符串 显示到table中 $("#btnSearch").click(function () { $.post("Cur ...