Автоматическая замена логотипов в веб-изображениях - PullRequest
0 голосов
/ 25 февраля 2019

Рассмотрим следующую задачу:

  • Открыть заданный URL-адрес
  • Найти первый тег изображения в URL-адресе
  • Заменить его на изображение на локальном диске
  • Сохранить полученную веб-страницу как png

Я хочу автоматизировать эту задачу с помощью скрипта Python, и я не уверен в лучшем подходе.

У меня естьиспользовал селен для преобразования URL в скриншоты, но я не уверен, как представить часть об изменении первого тега изображения для загрузки локального файла.

1 Ответ

0 голосов
/ 25 февраля 2019

Вы можете использовать execute_script для замены изображения, которое должно выглядеть примерно так:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Firefox()
url = 'https://www.aircanada.com/en/'
browser.get(url)

my_image = browser.find_element_by_xpath('//*[@id="pagePromoBanner-wrapper"]/div/a/img')

# or
# my_image = browser.find_element_by_xpath('any XPath')

link_to_new_image = "https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260"
# if you are using python 3.6 and up:
browser.execute_script(f"arguments[0].src = '{link_to_new_image}'", my_image )
# else:
# browser.execute_script("arguments[0].src = '"+link_to_new_image+"'", my_image )

Надеюсь, это поможет вам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...