使用selenium和python截取特定div元素的屏幕截图,包括滚动区域内的区域

时间:2014-09-03 12:12:19

标签: python selenium screenshot python-imaging-library

我需要截取特定给定dom元素的屏幕截图,包括滚动区域内的区域。

我尝试使用selenium拍摄整个网页的屏幕截图,然后使用Python成像库以及selenium给出的尺寸裁剪图像。但我无法找到一种方法来捕捉滚动区域下的那些。

例如,我的页面中有一个类元素容器,高度是基于内容的动态。我需要完全截取它的截图。但是生成的图像会跳过滚动条内的区域,只有滚动条会显示裁剪后的图像

有没有办法做到这一点?使用硒的溶液是优选的,如果不能用硒替代溶液也会这样做。

1 个答案:

答案 0 :(得分:0)

您可以使用driver.execute_script方法进行scrool,然后截取屏幕截图。

我使用jQuery以这种方式滚动一些模态窗口:

driver.execute_script( “$( 'UI窗口缠绕:可见'。)scrollTop的(document.body.scrollHeight);”)