打开excel并使用python selenium截取屏幕截图

时间:2017-07-21 10:06:01

标签: python google-chrome selenium

我正在使用selenium和python自动化一些浏览器测试。脚本通过chrome浏览器打开应用程序,输入用户ID和密码并遍历Web浏览器应用程序。我正在浏览遍历时看到的每个页面的屏幕截图。但是我被困在一个地方。点击一个地方的应用程序下载一个excel文件.excel下载到下载文件夹。我现在要求打开excel文件并获取excel文件的屏幕截图然后再回到web浏览器并继续遍历。

3 个答案:

答案 0 :(得分:0)

你在做哪个平台?您可以尝试使用python打开文件,然后使用此模块进行屏幕抓取:https://wiki.wxpython.org/WorkingWithImages#A_Flexible_Screen_Capture_App

由于您无法在浏览器中打开Excel工作表,我不认为这将是硒的任务。

答案 1 :(得分:0)

@Rahul Mukerjee

打开excel文件后,使用此代码进行屏幕截图:

import win32gui, win32ui, win32con, win32api
hwin = win32gui.GetDesktopWindow()
width = win32api.GetSystemMetrics(win32con.SM_CXVIRTUALSCREEN)
height = win32api.GetSystemMetrics(win32con.SM_CYVIRTUALSCREEN)
left = win32api.GetSystemMetrics(win32con.SM_XVIRTUALSCREEN)
top = win32api.GetSystemMetrics(win32con.SM_YVIRTUALSCREEN)
hwindc = win32gui.GetWindowDC(hwin)
srcdc = win32ui.CreateDCFromHandle(hwindc)
memdc = srcdc.CreateCompatibleDC()
bitmap = win32ui.CreateBitmap()
bitmap.CreateCompatibleBitmap(srcdc, width, height)
memdc.SelectObject(bitmap)
memdc.BitBlt((0, 0), (width, height), srcdc, (left, top), win32con.SRCCOPY)
bitmap.SaveBitmapFile(memdc, 'C:\\screenshot.bmp')

“C:\ screenshot.bmp”:这是您要保存屏幕抓取的位置。 只有Windows兼容。

来自stackoverflow.com的解决方案

答案 2 :(得分:-1)

T::asdf()