Я использую Selenium web driver
и Python
для создания сценариев автоматизации для тестирования веб-приложений. Мне нужно выполнить проверку, которая будет сравнивать две строки закодированных файлов png
как base64
: сохраненное основное изображение и текущее изображение на странице того же веб-элемента. Существует метод в Selenium
, что позволяет получить скриншот страницы, как base64
объектКак получить изображение конкретного элемента web как base64
driver.get_screenshot_as_base64()
Но как получить base64
экран не всей страницы, но только из конкретного элемента изображения на странице, не загружая его?
P.S. Возможны и другие способы сравнения двух изображений:
Это не работает с 'Firefox'. Какой браузер вы используете? 'Edge'? – Andersson
Извините, вы правы, это открытая проблема: https://github.com/SeleniumHQ/selenium/issues/912 – birdsarah
Также не работает на PhantomJS. Для фантомных бросков 'WebDriverException: Сообщение: Invalid Command Method' и для Firefox' WebDriverException: Message: Unrecognized command'. Обходным путем является использование Javascript для создания холста из изображений, а затем сохранить его base64 позже. – erm3nda