#python #python-3.x #selenium #selenium-webdriver #web-scraping
#python #python-3.x #селен #selenium-webdriver #очистка веб-страниц
Вопрос:
Я пытаюсь получить все URL-адреса изображений с этой страницы. У каждого продукта есть несколько изображений. вот мой код, в котором я пытаюсь получить URL-адрес изображения:
img = driver.find_elements_by_css_selector('.gem-gallery-thumbs-carousel img')
for i in img:
y = i.get_attribute('href')
print(y)
result:
None
None
None
None
None
None
Комментарии:
1. Изображения обычно имеют
src
атрибут, а неhref
. И на этой странице, в частности, похоже, что у них естьdata-tgpli-src
атрибут.2. Джон Гордон Я знаю и пытался, но не сработало
3. Обновите вопрос, чтобы включить образец элемента, который вы ожидаете найти.
4. Джон Гордон Спасибо. теперь он работал после изменения
href
src
, но не понимал, почему он не работал раньше. Кстати, спасибо.
Ответ №1:
- URL-адреса изображений в этих элементах содержатся в
src
атрибуте, а не вhref
том, как указано в комментариях. - Вероятно, вам следует добавить wait / delay, чтобы страница загружалась перед чтением содержимого элементов.
Итак, что-то вроде этого после соответствующего ожидания / задержки должно сработать:
imgs = driver.find_elements_by_css_selector('.gem-gallery-thumbs-carousel img')
for img in imgs:
url = img.get_attribute('src')
print(url)
Ответ №2:
Для вывода src для тех, которые вам нужны .get_attribute() для src
wait=WebDriverWait(driver, 60)
driver.get('https://ca.morilee.com/product/quinceanera-dresses/vizcaya/iridescent-crystal-beaded-quinceanera-dress/')
imgs=wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,".gem-gallery-thumbs-carousel img")))
for img in imgs:
print(img.get_attribute("src")
Импорт:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
Результаты:
https://ca.morilee.com/wp-content/uploads/sites/10/2021/11/89331-0259-scaled-1-280x400.jpg
https://ca.morilee.com/wp-content/uploads/sites/10/2021/11/89331-0292-scaled-1-280x400.jpg
https://ca.morilee.com/wp-content/uploads/sites/10/2021/11/89331-0061-scaled-1-280x400.jpg
https://ca.morilee.com/wp-content/uploads/sites/10/2021/11/89331-0083-scaled-1-280x400.jpg
https://ca.morilee.com/wp-content/uploads/sites/10/2021/11/89331-0101-scaled-1-280x400.jpg
https://ca.morilee.com/wp-content/uploads/sites/10/2021/11/89331-0196-scaled-1-280x400.jpg