Python selenium屏幕捕获无法获取整个pag

2024-04-25 00:09:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个通用的网络绘图器,将前往一个网站,并采取截图。我正在使用Python、Selnium和PhantomJS。问题是截图并没有捕获页面上的所有图像。例如,如果我转到tube,它不会捕获主页图像下方的图像。(我没有足够高的重复率来发布屏幕截图)我认为这可能与动态内容有关,但我尝试了诸如隐式等待和设置页面加载超时方法等等待函数。因为这是一个通用的爬虫程序,我不能等待一个特定的事件(我想爬网数百个网站)。

有没有可能创建一个通用的webcrawler来完成我要做的屏幕捕获?我使用的代码是:

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


Tags: 方法图像网络绘图内容get屏幕网站
1条回答
网友
1楼 · 发布于 2024-04-25 00:09:16

你的建议解决了这个问题。使用了以下代码(在回答另一个问题时部分被盗):

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')

相关问题 更多 >