当前位置: 首页 > wzjs >正文

织梦怎么做网站seozhun

织梦怎么做网站,seozhun,在线制作网页系统,丽水连都区建设局网站本文主要介绍6种窗口截图方式及源码分析,其中包括整屏截图和根据定位的元素截取相应的图片。此外,在窗口截图方法种还用到了文件路径、时间戳命名、文件打开方式等,在文中也将简单的做介绍。 一、窗口截图方法 常用的窗口截图方法是get_sc…

本文主要介绍6种窗口截图方式及源码分析,其中包括整屏截图和根据定位的元素截取相应的图片。此外,在窗口截图方法种还用到了文件路径、时间戳命名、文件打开方式等,在文中也将简单的做介绍。
在这里插入图片描述

一、窗口截图方法

常用的窗口截图方法是get_screenshot_as_file(filename)和save_screenshot(filename),这两种方法可以直接生成图片。
get_screenshot_as_png()和get_screenshot_as_base64()不能直接生成图片,需要进行进一步的操作。

1、get_screenshot_as_base64()

使用该方法截图后的图片是以base64加密过的,需要使用base64.b64decode(img)其进行解密。并且,解密后的是二进制的,还需要将其进一步操作。
使用该方法截取的是整屏的图片。
在这里插入图片描述

import base64
from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
url = r"https://www.baidu.com"
driver.get(url)
driver.maximize_window()driver.find_element(By.ID, "kw").send_keys("搜索")img = driver.get_screenshot_as_base64()
img = base64.b64decode(img)
with open("./img.png", "wb") as f:f.write(img)sleep(2)
driver.quit()

2、screenshot_as_base64

该方法和get_screenshot_as_base64()类似,结果都是加密过的。但是此方法可以根据定位元素进行图片的截取。
注意:screenshot_as_base64没有括号。

import base64
from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
url = r"https://www.baidu.com"
driver.get(url)
driver.maximize_window()element = driver.find_element(By.ID, "kw")
element.send_keys("搜索")img = element.screenshot_as_base64
img = base64.b64decode(img)
with open("./img.png", "wb") as f:f.write(img)sleep(2)
driver.quit()

3、get_screenshot_as_png()

与get_screenshot_as_base64()类型,结果是二进制的,不能直接生成图片,需要进一步操作。与get_screenshot_as_base64()不同的是,该方法的结果不是加密的。
get_screenshot_as_png()源码return的是b64decode(self.get_screenshot_as_base64().encode(“ascii”))。
使用该方法截取的是整屏的图片。
在这里插入图片描述

import base64
from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
url = r"https://www.baidu.com"
driver.get(url)
driver.maximize_window()element = driver.find_element(By.ID, "kw")
element.send_keys("搜索")img = driver.get_screenshot_as_png()
with open("./img.png", "wb") as f:f.write(img)sleep(2)
driver.quit()

4、screenshot_as_png

该方法和get_screenshot_as_png()类似,结果是二进制的。但是此方法可以根据定位元素进行图片的截取。
注意:screenshot_as_png没有括号。

import base64
from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
url = r"https://www.baidu.com"
driver.get(url)
driver.maximize_window()element = driver.find_element(By.ID, "kw")
element.send_keys("搜索")img = element.screenshot_as_png
with open("./img.png", "wb") as f:f.write(img)sleep(2)
driver.quit()

5、get_screenshot_as_file(filename)

使用该方法可以直接生成图片,不需要进行额外的处理。实际上,源码中get_screenshot_as_file(filename)方法是将get_screenshot_as_png()方法进行处理的。
使用该方法截取的是整屏的图片。
在这里插入图片描述

import base64
from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
url = r"https://www.baidu.com"
driver.get(url)
driver.maximize_window()element = driver.find_element(By.ID, "kw")
element.send_keys("搜索")driver.get_screenshot_as_file("./img.png")sleep(2)
driver.quit()

6、save_screenshot(filename)

该方法的用法和get_screenshot_as_file(filename)一致,源码中save_screenshot(filename) return的是get_screenshot_as_file(filename)。
在这里插入图片描述

import base64
from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
url = r"https://www.baidu.com"
driver.get(url)
driver.maximize_window()element = driver.find_element(By.ID, "kw")
element.send_keys("搜索")driver.save_screenshot("./img.png")sleep(2)
driver.quit()

二、文件打开形式

在使用get_screenshot_as_png()、screenshot_as_png、get_screenshot_as_base64()和screenshot_as_base64进行截图时,需要将二进制数据进行进一步的处理,with open(“./img.png”, “wb”) as f 中”wb“的意思是以二进制形式写入。
下面介绍几种常见的文件打开形式:

1、基础模式

  • r:只读,以文本模式打开文件,文件不存在时会报错
  • w:写入,以文本模式打开文件,覆盖写入(清空原内容),文件不存在时会新建
  • a:追加,以文本模式打开文件,在文件末尾追加内容(不覆盖原内容),文件不存在时会新建

2、二进制模式

  • rb:二进制只读
  • wb:二进制写入(覆盖)
  • ab:二进制追加

3、读写组合模式

  • r+:文本读写,文件不存在时会报错,不会清空原内容,但是写入时会覆盖当前位置的内容
  • w+:文本读写,文件不存在时会新建,会清空原有内容
  • rb+ / wb+ / ab+ :对应的二进制读写模式

4、其他模式

  • x:独立创建,仅在文件不存在时创建并写入,否则报错(避免覆盖已有文件)。支持python、php、ruby语言。

三、文件路径

保存截图时,需要指定文件名及路径,如with open(“./img.png”, “wb”) as f 的”./img.png“表示将截图在当前路径下保存为img.png。

  • 当前路径:./
  • 上一级路径:…/

四、时间戳命名

保存截图时,如果想以当前时间命名,则需要使用到时间戳命名。

1、导包

from time import strftime

2、使用

driver.get_screenshot_as_file(“./%s.png” % (strftime(“%Y_%m_%d %H_%M_%S”)))

总结

在这里插入图片描述

http://www.dtcms.com/wzjs/527627.html

相关文章:

  • 微信公众号平台官网入口seo是什么单位
  • 初号一号二号三号字体wordpress青岛网站优化公司
  • 大家做网站都会去哪找素材常州网站建设书生商友
  • 四大门户网站对比分析网络营销与市场营销的区别
  • 怎样做类似淘宝的网站一站式网站建设
  • 有专业做网站优化的吗新网站百度多久收录
  • iis7.5 网站打不开免费网站的平台
  • 昆明网站建设大全seo关键词报价查询
  • 工商网站如何做实名口碑营销的案例有哪些
  • 网站流量统计表格网站建设有哪些公司
  • 阿里云网站用什么做的百度收录查询
  • 直播网站开发框架网站seo资讯
  • 无锡那家网络公司做网站好360站长平台
  • 常州网站制作公司多吗推广衣服的软文
  • 广东中山市做网站网站主页
  • 局网站建设搜索引擎优化的方法
  • 微网站报价郴州网站建设网络推广渠道
  • 搜狗 优化网站关键词语有哪些
  • 网站建设完成大概多久网站开发的公司
  • 中国建设银行网站多少教育培训机构
  • wordpress编辑器代码高亮网站优化技术
  • 嘉兴免费做网站seo排名点击 seo查询
  • 浙江工程信息网汕头seo快速排名
  • 网站建设公司推销上海seo培训中心
  • W做网站病毒营销案例
  • 网站建设模板平台哈尔滨百度推广公司
  • 商务网站建设中存在的问题百度app官网下载
  • 网站推广的方式有北京搜索引擎优化经理
  • 亚马逊雨林动物seo外贸推广
  • 石家庄论坛建站模板佛山做seo推广公司