Lou*_*ise 1 python firefox selenium
我可以使用Firefox.get_screenshot_as_file('2.png')截取整个页面,但是当我使用passage.screenshot('1.png')截取网页元素时,它总是引发此异常:
selenium.common.exceptions.WebDriverException: Message: Unrecognized command: GET /session/284283fa-53fc-4b33-b329-e6e888dbdcb0/screenshot/{35834cf1-c9c7-4129-99b1-24f30c6b56e6}
Run Code Online (Sandbox Code Playgroud)
你得到这个例外是因为如果没有一些第三方库或你自己的代码来处理这个问题,你就无法在selenium中截取一个元素的截图.请参阅此stackoverflow帖子
它使用名为PIL的库来执行此操作:
from selenium import webdriver
from PIL import Image
fox = webdriver.Firefox()
fox.get('https://stackoverflow.com/')
# now that we have the preliminary stuff out of the way time to get that image :D
element = fox.find_element_by_id('hlogo') # find part of the page you want image of
location = element.location
size = element.size
fox.save_screenshot('screenshot.png') # saves screenshot of entire page
fox.quit()
im = Image.open('screenshot.png') # uses PIL library to open image in memory
left = location['x']
top = location['y']
right = location['x'] + size['width']
bottom = location['y'] + size['height']
im = im.crop((left, top, right, bottom)) # defines crop points
im.save('screenshot.png') # saves new cropped image
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3862 次 |
| 最近记录: |