GVKun编程网logo

用python脚本拍摄打开的网站的屏幕截图(用python脚本拍摄打开的网站的屏幕截图)

8

以上就是给各位分享用python脚本拍摄打开的网站的屏幕截图,其中也会对用python脚本拍摄打开的网站的屏幕截图进行解释,同时本文还将给你拓展iphone–防止iOS在进入后台之前拍摄应用程序的屏幕

以上就是给各位分享用python脚本拍摄打开的网站的屏幕截图,其中也会对用python脚本拍摄打开的网站的屏幕截图进行解释,同时本文还将给你拓展iphone – 防止iOS在进入后台之前拍摄应用程序的屏幕截图、linux – 每秒在屏幕上拍摄一个特定区域的屏幕截图、Python Webkit使用虚拟帧缓冲区制作网站屏幕截图、python 屏幕找图 点击,使用Python脚本在windows屏幕找图等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用python脚本拍摄打开的网站的屏幕截图(用python脚本拍摄打开的网站的屏幕截图)

用python脚本拍摄打开的网站的屏幕截图(用python脚本拍摄打开的网站的屏幕截图)

我需要编写一个python脚本来打开一个网站,当该网站完全打开时,它将截取已打开网站的屏幕截图。

我这样写:

import webbrowser
import wx

wx.App()
link = "http://stackoverflow.com/questions"
webbrowser.get('firefox %s').open_new_tab(link)
screen = wx.ScreenDC()
size = screen.GetSize()
bmp = wx.EmptyBitmap(size[0],size[1])
mem = wx.MemoryDC(bmp)
mem.Blit(0,size[0],size[1],screen,0)
del mem
bmp.SaveFile('screenshot.png',wx.BITMAP_TYPE_PNG)

它仅在firefox中打开一个新标签,但不截取屏幕截图:(

我希望解决方案是跨平台的。谢谢你的帮助:)

编辑:

这里的主要问题是脚本完全打开了我的网页之前就拍照了。 如何解决这个问题?

iphone – 防止iOS在进入后台之前拍摄应用程序的屏幕截图

iphone – 防止iOS在进入后台之前拍摄应用程序的屏幕截图

您可能都知道iOS会在将应用程序投射到后台之前对其进行屏幕截图。这通常是为了获得更好的用户体验,例如快速动画来恢复应用程序等等。我不希望我的应用程序屏幕截图存储在设备上,但我希望多任务仍然存在。

我提出了一个解决方案,但我不确定我是否正朝着正确的方向前进。因此,当调用applicationDidEnterBackground时 – 我放入了一个将由操作系统捕获的叠加图像,一旦应用程序进入前景,我将删除叠加层。我不确定这是否会起作用,但我正在实现这一目标。同时,对此的任何其他想法将帮助我找出攻击此问题的最佳方式。

解决方法

你走在正确的轨道上。这是Apple推荐的方法 as noted in the iOS Application Programming Guide:

Remove sensitive information from views before moving to the background. When an application transitions to the background,the system takes a snapshot of the application’s main window,which it then presents briefly when transitioning your application back to the foreground. Before returning from your applicationDidEnterBackground: method,you should hide or obscure passwords and other sensitive personal information that might be captured as part of the snapshot.

linux – 每秒在屏幕上拍摄一个特定区域的屏幕截图

linux – 每秒在屏幕上拍摄一个特定区域的屏幕截图

我希望能够每秒在屏幕上拍摄一个特定区域的屏幕截图,并使用命令行和程序将文件命名为MMDDYYYYHH:MM:ss.我在考虑使用这样的脚本

for((i=0;i<1000;i++))
do
import -window root screenshot-$(date '+%d%b%y-%N').png
sleep 5m
done

但我不知道访问程序的命令,以更改屏幕上的区域,并在保存到文件时限制图像质量.
PS:我愿意使用不同的程序,如果它能工作的话.我正在使用Linux Ubuntu 10.04 64bit.

谢谢

解决方法

您可以使用-crop WxH X Y选项进行导入命令指定屏幕区域.和质量/压缩级别的质量选项.像这样的东西:

import -window root -crop 200x300+100+15 -quality 100 $(date +%Y%m%d-%H%M%s).png

请注意,.png和.jpg格式的-quality选项具有几乎相反的含义:png的值10表示“较小压缩”(较大的大小),而值100表示​​“最大压缩”(最小大小).另一方面,jpg的值为10表示“较低质量”(较小的尺寸),而值100表示​​“最高质量”(最大尺寸).

Python Webkit使用虚拟帧缓冲区制作网站屏幕截图

Python Webkit使用虚拟帧缓冲区制作网站屏幕截图

问题是我需要在不运行X服务器的情况下捕获网站屏幕截图。

因此,从理论上讲,可以创建一个虚拟帧缓冲区并使用它来捕获屏幕截图。

有没有类似的解决方案,任何建议将不胜感激?

苏丹

答案1

小编典典

您可以结合使用Selenium WebDriver和pyvirtualdisplay(使用xvfb)在虚拟显示器中运行浏览器并捕获屏幕截图。

因此,您需要的设置是:

  • Selenium Python绑定
  • pyvirtualdisplay Python软件包(取决于xvfb)

在Debian / Ubuntu Linux系统上,您可以使用以下命令设置所有内容:

  • $ sudo apt-get install python-pip xvfb
  • $ sudo pip install selenium

设置完成后,以下代码示例将起作用:

#!/usr/bin/env pythonfrom pyvirtualdisplay import Displayfrom selenium import webdriverdisplay = Display(visible=0, size=(800, 600))display.start()browser = webdriver.Firefox()browser.get(''http://www.google.com'')browser.save_screenshot(''screenie.png'')browser.quit()display.stop()

这将:

  • 启动虚拟显示器
  • 启动Firefox浏览器
  • 导航到google.com
  • 截图
  • 关闭浏览器
  • 停止虚拟显示

python 屏幕找图 点击,使用Python脚本在windows屏幕找图

python 屏幕找图 点击,使用Python脚本在windows屏幕找图

python 屏幕找图 点击,使用Python脚本在windows屏幕找图

Python实现windows屏幕找图

import win32gui

hwnd_title = dict()

def get_all_hwnd(hwnd,mouse):

if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd):

hwnd_title.update({hwnd:win32gui.GetWindowText(hwnd)})

from PyQt5.QtWidgets import QApplication

from PyQt5.QtGui import *

import win32gui

import sys

import time

import win32gui, win32ui, win32con, win32api

from send_text import send_message_to_slack

import random

import pyscreenshot as ImageGrab

import sys

import numpy as np

import time

from cv2 import cv2

from time import sleep

def get_pay_keyboard_number_location(impath, target,fit_num): #fit_num是匹配度,如 0.95,0.85

print("start find pic")

positions = {}

start = time.time()

img_rgb = cv2.imread(impath)

teNum = "done"

template = cv2.imread(target)

h, w = template.shape[:-1]

res = cv2.matchTemplate(img_rgb, template, cv2.TM_CCOEFF_NORMED)

threshold = fit_num # 匹配度参数,1为完全匹配

loc = np.where(res >= threshold)

if len(loc) > 0:

# positions[teNum] = zip(*loc[::-1])[0] # python2的写法

zipped = zip(*loc[::-1]) #list[::-1] 相当于起点为最后的一个,终点为第一个,然后一次减少一个

positions[teNum] = (list(zipped))[0]

else:

print("Can not found pic: ")

end = time.time()

print(end - start)

return positions[teNum]

def zhaotu(fenbianlv):

impath1 = ''screenshot.jpg''

targetPath_a = "yellow" +str(fenbianlv)+''.jpg''

win32gui.EnumWindows(get_all_hwnd, 0)

hwnd = win32gui.FindWindow(None, ''C:\Windows\system32\cmd.exe'')

app = QApplication(sys.argv)

screen = QApplication.primaryScreen()

while 1>0:

img = screen.grabWindow(hwnd ).toImage()

img.save("screenshot.jpg")

try:

ls = get_pay_keyboard_number_location(impath1, targetPath_a,0.98) #找目标图

except:

pass

sleep(5)

zhaotu(1792)

Flutter 写的app, 需要源码可以私信~~

我们今天的关于用python脚本拍摄打开的网站的屏幕截图用python脚本拍摄打开的网站的屏幕截图的分享已经告一段落,感谢您的关注,如果您想了解更多关于iphone – 防止iOS在进入后台之前拍摄应用程序的屏幕截图、linux – 每秒在屏幕上拍摄一个特定区域的屏幕截图、Python Webkit使用虚拟帧缓冲区制作网站屏幕截图、python 屏幕找图 点击,使用Python脚本在windows屏幕找图的相关信息,请在本站查询。

本文标签: