Зараннее прошу простить мой низкий уровень, в этом деле я ещё новичок
Пытаюсь сделать скрин стандарным способом:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://google.com')
put = driver.save_screenshot('C:\screenshot__.png')
выдаёт ошибку:
Traceback (most recent call last):
File "C:\Users\muraveven\Desktop\шаги к оптимизации тестирования\screenshot.py", line 13, in <module>
put = driver.save_screenshot('C:\screenshot__.png')
File "C:\Python32\lib\selenium\webdriver\remote\webdriver.py", line 818, in save_screenshot
f.write(base64.decodestring(png))
File "C:\Python32\lib\base64.py", line 367, in decodestring
return decodebytes(s)
File "C:\Python32\lib\base64.py", line 359, in decodebytes
raise TypeError("expected bytes, not %s" % s.__class__.__name__)
TypeError: expected bytes, not str
>>>
При этом файл в указанной директории создаёт но он пустой. Из аналогичных команд создания скринов отрабатывает только
put = driver.get_screenshot_as_base64()
но превратить полученное значение в картинку приводит к аналогичной ошибке
image = Image.fromstring('RGB',(1366,768),decodestring(put))
image.save("c:/foo.png")
image = Image.fromstring('RGB',(1366,768),decodestring(put))
File "C:\Python32\lib\base64.py", line 367, in decodestring
return decodebytes(s)
File "C:\Python32\lib\base64.py", line 359, in decodebytes
raise TypeError("expected bytes, not %s" % s.__class__.__name__)
TypeError: expected bytes, not str
Проблему вижу в том, что втройке наконец-то решились разделить строки и байты.