Это сообщение об ошибке ...
UserWarning: name used for saved screenshot does not match file type. It should end with a .png extension
"type. It should end with a .png extension", UserWarning)
... означает, что клиент Selenium-Python столкнулся с проблемой при вызове метода get_screenshot_as_file()
.
get_screenshot_as_file ()
get_screenshot_as_file () сохраняет снимок текущего окна в файл изображения PNG
. Возвращает False
, если есть IOError , иначе возвращает True
. Используйте полные пути в вашем имени файла.
- Args:
- filename: полный путь, к которому вы хотите сохранить скриншот. Это должно заканчиваться расширением
.png
.
Использование:
driver.get_screenshot_as_file('/Screenshots/foo.png')
Defination:
if not filename.lower().endswith('.png'):
warnings.warn("name used for saved screenshot does not match file "
"type. It should end with a `.png` extension", UserWarning)
png = self.get_screenshot_as_png()
try:
with open(filename, 'wb') as f:
f.write(png)
except IOError:
return False
finally:
del png
return True
* +1040 * Анализ * +1041 *
Согласно снимку трассировки стека ошибок:
Вы использовали команду как:
driver.get_screenshot_as_file('new.jpeg')
Проблемы были:
- Имя файла не заканчивается на
.png
- Не указан желаемый полный путь к вашему имени файла .
Даже если вы хотите использовать save_screenshot()
, этот метод по очереди вызывает get_screenshot_as_file(filename)
Решение
Создайте каталог в своем проекте как Screenshots
и укажите абсолютный путь имени файла, который вы хотите использовать для скриншота, при этом вызывая любой из методов следующим образом:
driver.get_screenshot_as_file("./Screenshots/YakeshrajM.png")
driver.save_screenshot("./Screenshots/YakeshrajM.png")
Обновление
В настоящее время GAed Chrome v73 имеет некоторые проблемы, и вы можете понизить рейтинг до Chrome v72 . Вы можете найти пару соответствующих обсуждений в: