Selenium,PhantomJS截图模糊不清

时间:2016-11-07 19:50:57

标签: python selenium web-scraping phantomjs

我正在拍摄一张模糊不清的幻影片。是否有可能获得更好的屏幕截图分辨率,使其看起来像实际的页面?

driver = webdriver.PhantomJS() 
driver.set_window_size(a, b)
driver.get('www.page.com')
driver.save_screenshot('screenpic.png')   
screen =  driver.get_screenshot_as_png()
im = Image.open(StringIO.StringIO(screen))
#I then set a region to crop called wndw 
region = im.crop(wndw)

如何让页面更清晰?

2 个答案:

答案 0 :(得分:0)

页面通过窗口对象中的onfocusonblur回调获取焦点信息,您可以自行调用:

browser.execute_script("window.onfocus()")

如果需要关注特定元素,请尝试:

browser.execute_script("document.getElementById('id').focus()") browser.execute_script("document.getElementById('id').click()")

答案 1 :(得分:0)

从评论到@ Phillip的答案,您似乎并不想要整个页面,您想获得一个SVG文件的图像。

为什么不获取SVG文件并将其直接转换为图像?根据{{​​3}},您可以使用this answer来呈现SVG文件。

如果你不知道SVG的URL,你可以使用Selenium找到它,然后从Python下载并渲染到PNG。