我要从浏览器获取验证码图像。我得到了这张图片的url,但是这张图片每次更新时都会改变(url是常量)。
有没有从浏览器获取图片的解决方案(如“另存图片为”按钮)?
另一方面,我认为这应该是可行的:
动态capcha-link的链接
通过截图解决了问题:
browser.save_screenshot('screenshot.png')
img = browser.find_element_by_xpath('//*[@id="cryptogram"]')
loc = img.location
image = cv.LoadImage('screenshot.png', True)
out = cv.CreateImage((150,60), image.depth, 3)
cv.SetImageROI(image, (loc['x'],loc['y'],150,60))
cv.Resize(image, out)
cv.SaveImage('out.jpg', out)
谢谢
可以从整个页面保存一个截图,然后从中剪切图像,但也可以使用“webdriver”中的“find”方法来定位要保存的图像,并编写“screenshot_a s_png”属性,如下所示:
有时它可能会因为滚动条而出错,但根据您的需要,这是获取图像的好方法。
下面是一个完整的例子(以google的recaptcha为目标):
更新:
动态生成图像的问题是,每次请求时都会生成一个新图像。在这种情况下,您有几个选项:
截图
模拟右击+另存为。有关详细信息,请参见this thread。
希望能有所帮助。
相关问题 更多 >
编程相关推荐