簡體   English   中英

python硒截圖驗證碼圖像

[英]python selenium screenshot captcha image

我想截取屏幕截圖並僅裁剪驗證碼圖像,即時通訊編寫以下代碼: http : //pastebin.com/Hqau6kRD

elem = driver.find_element_by_css_selector("#imagecpt")
loc  = elem.location
size = elem.size
left  = loc['x']
top   = loc['y']
width = size['width']
height = size['height']
box = (int(left), int(top), int(left+width), int(top+height))
screenshot = driver.get_screenshot_as_png()
img = Image.open(StringIO.StringIO(screenshot))
area = img.crop(box)
area.save('screenshot.png', 'PNG')

保存的圖像是全黑的,我錯在哪里?

我假設您正在使用PIL庫中的Image模塊。

嘗試獲取base64值,對其進行解碼,然后將其作為參數傳遞給open()方法。

...
screenshot = driver.get_screenshot_as_base64()
img = Image.open(StringIO.StringIO(base64.b64decode(screenshot))
...

是啊。 對於Python3,它將類似於:

...
from io import BytesIO
...
screenshot = driver.get_screenshot_as_base64()
img = Image.open(BytesIO(base64.b64decode(screenshot))
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM