Автоматизировать загрузку картинок в веб-браузер и конвертировать их в формат pdf с помощью python - PullRequest
0 голосов
/ 22 октября 2018

У меня есть веб-сайт, на котором мне нужно скачать кое-что (картинки в формате png).Процесс идет так.

Перейдите на веб-сайт -> войдите с учетными данными -> откройте необходимый контент -> скопируйте адрес ссылки на изображение -> вставьте его в блокнот -> нажмите на следующую кнопку -> скопируйте адрес ссылки на изображение -> вставьте его в блокнот.И повторять итеративно, пока я не смогу нажать кнопку «Далее».Из сгенерированных ссылок внутри блокнота я могу скачать изображения, а после из изображений сделать PDF книгу.Мне удается загрузить все изображения, используя urllib, а также сделать PDF из изображений с помощью библиотеки PIL.

ОК, что мне удастся сделать, это с помощью Selen Webdriver и Python, я могу войти на свой веб-сайт, нажать на ссылки, чтобы прийти в моем желаемом всплывающем окне, где я могу очистить контент, который мне нужен.Но здесь у меня проблема, потому что когда я получаю всплывающее окно, я могу обработать его командой driver.switch_to.window.(window_handle).После того, как я ввожу css_selector, я получаю ошибку:

selenium.common.exceptions.NoSuchElementException: Сообщение: нет такого элемента: Невозможно найти элемент: {"method": "css selector", "selector": "li.buttonSpace: nth-child (3)"}

Хорошо, мой вопрос, даже если я решу эту проблему с поиском необходимого элемента, как я могу сканировать веб-сайт и искать элемент img?Также с селеном или какой-то другой библиотекой?

1 Ответ

0 голосов
/ 27 октября 2018

Я решил свою проблему :), проблема заключалась в том, что у меня был кадр внутри кадра.

Итак, решение:

driver.switch_to.frame(driver.find_element_by_xpath("frame_level_1"))
driver.switch_to.frame(driver.find_element_by_xpath("frame_level_2"))
element = driver.find_element_by_xpath("Desired button").click()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...