使用Selenium和Python截取特定div元素及其滚动区域内的截图
我需要截取一个特定的网页元素的截图,包括滚动区域里面的内容。
我试过用selenium截取整个网页的截图,然后用Python的图像处理库来裁剪图片,裁剪的尺寸是selenium提供的。但是我找不到办法来捕捉到滚动区域里面的内容。
举个例子,我页面上有一个类元素的容器,它的高度是根据内容动态变化的。我需要把它完整地截图。但是最终得到的图片却漏掉了滚动条里面的区域,裁剪后的图片只剩下了滚动条。
有没有什么办法可以做到这一点?如果能用selenium解决那最好,如果不行,其他的解决方案也可以。
1 个回答
0
你可以使用driver.execute_script这个方法来滚动页面,然后再截图。
我用jQuery这样滚动一些弹出窗口:
driver.execute_script("$('.ui-window-wrap:visible').scrollTop(document.body.scrollHeight);")