首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python selenium屏幕捕获未获取整个页面

Python selenium屏幕捕获未获取整个页面
EN

Stack Overflow用户
提问于 2014-10-06 14:41:44
回答 1查看 7.5K关注 0票数 3

我正在尝试创建一个通用的网络爬虫,将去一个网站,并采取屏幕截图。我使用的是Python、Selnium和PhantomJS。问题是屏幕截图没有捕捉到页面上的所有图像。例如,如果我转到you tube,它不会捕捉到主页图像下面的图像。(我没有足够高的代表来发布屏幕截图)我认为这可能与动态内容有关,但我已经尝试了等待函数,如隐式等待和on set_page_load_timeout方法。因为这是一个通用的爬虫,所以我不能等待特定的事件(我想抓取数百个站点)。

有没有可能创建一个通用的网络爬虫来完成我正在尝试的屏幕截图?我使用的代码是:

代码语言:javascript
运行
复制
phantom = webdriver.PhantomJS()
phantom.set_page_load_timeout(30)
phantom.get(response.url)
img = phantom.get_screenshot_as_png() #64-bit encoded string
phantom.quit

Here is the image

EN

回答 1

Stack Overflow用户

发布于 2014-10-08 22:23:41

你的建议解决了这个问题。使用了以下代码(部分从另一个问题的答案中窃取):

代码语言:javascript
运行
复制
driver = webdriver.PhantomJS()    
driver.maximize_window()
driver.get('http://youtube.com')  
scheight = .1
while scheight < 9.9:
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight/%s);" % scheight)
    scheight += .01        
driver.save_screenshot('screenshot.png')
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26211056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档