Python Forum
Thread Rating:
  • 1 Vote(s) - 1 Average
  • 1
  • 2
  • 3
  • 4
  • 5
selenium screenshot
#1
Hello Everyone,

Can you share code for auto opening 6 websites and take screen shots of each website at particular area. Screen shot of the area and url are fixed. Screen shots to be saved in jpeg/png. Kindly help if this can possible.
Thanks.
Reply
#2
Did you mean for this to be on the jobs section (moved there unless you have code you want help with)
Reply
#3
hi Yoriz, I didnt get you ?... is there any solution for my query ?

hi Yoriz, yeah.. Got it. I will come back with code.Thanks
Reply
#4
There is a solution. Selenium + pyautogui/pyscreenshot modules. I never used selenium so I can't provide a working example
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Reply
#5
(Feb-22-2017, 01:20 PM)wavic Wrote: There is a solution. Selenium + pyautogui/pyscreenshot modules. I never used selenium so I can't provide a working example
actually you can do this with Selenium + PhantomJS (that will be used with Selenium anyway), no need to add extra modules.
Reply
#6
I completely forgot PhantomJS  Smile Don't remember that it's included in Selenium
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Reply
#7
from selenium import webdriver

driver = webdriver.PhantomJS('/home/metulburr/phantomjs') #http://phantomjs.org/download.html
driver.set_window_size(1920,1080) 
driver.get('http://www.google.com')
driver.save_screenshot('out.png')
driver.quit()
where the path is to wherever the webdriver downloaded resides on your computer

out.png
   


Im sure you can get the element location, and crop the image to that location. Not sure exactly as i never had to do that before.
Recommended Tutorials:
Reply
#8
(Feb-22-2017, 03:01 PM)wavic Wrote: I completely forgot PhantomJS Smile Don't remember that it's included in Selenium
It's not included in Selenium,have download PhantomJS and give path to executable as show over.
Reply
#9
here is a method of using selenium to get the screenshot and the elements location, then PIL to crop it via its location and size to get just the element and crop out the rest
So here i am trying to extract the google image via a full screenshot...

from selenium import webdriver
from PIL import Image

FILENAME = ' screenshot.png'

driver = webdriver.PhantomJS('/home/metulburr/phantomjs');
driver.set_window_size(1920,1080) 
driver.get('http://google.com')

element = driver.find_element_by_tag_name('img')
location = element.location
size = element.size
driver.save_screenshot(FILENAME)
driver.quit()

im = Image.open(FILENAME) 

left = int(location['x'])
top = int(location['y'])
right = int(location['x'] + size['width'])
bottom = int(location['y'] + size['height'])

im = im.crop((left, top, right, bottom)) 
im.save(FILENAME) 
screenshot.png
   
Recommended Tutorials:
Reply
#10
Dear metulburr,

Appreciate your reply and solution. Could you please help me in knowing what are all the apps that we needed to run this code.

Thanks in advance for your help
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Taking screenshot ConsistentlyInconsistent 1 1,054 Sep-10-2023, 11:20 PM
Last Post: Larz60+
  Flask Can't Save Screenshot to Postgres Db firebird 3 2,342 Sep-21-2020, 09:22 PM
Last Post: firebird
  Store Screenshot Selenium + MongoDB Nuwan16 9 3,526 Aug-18-2020, 03:57 AM
Last Post: ndc85430
  Screenshot web page ! ABVSVL 3 3,275 Jul-11-2020, 01:39 PM
Last Post: snippsat
  screenshot arezoo 3 2,299 Apr-11-2020, 10:22 AM
Last Post: buran
  Error in Selenium: CRITICAL:root:Selenium module is not installed...Exiting program. AcszE 1 3,588 Nov-03-2017, 08:41 PM
Last Post: metulburr

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020