Я пытаюсь очистить изображение Google, используя селен, chrome -драйвер.
Я скопировал Xpath элементов изображения и использовал find_element_by_xpath. Но селен находит не более первых 20 элементов изображения на странице.
Есть ли способ найти больше?
Вот код:
# -*- coding: utf-8 -*- from selenium import webdriver import urllib.request import time driver = webdriver.Chrome('./chromedriver.exe') driver.set_window_size(800, 600) driver.implicitly_wait(5) driver.get('https://www.google.com/search?q=a+dog&tbm=isch&ved=2ahUKEwi-59_iiZ_oAhWCIZQKHTaWB5MQ2-cCegQIABAA&oq=a+dog&gs_l=img.3..0l5j0i7i30l5.29034.29325..29590...0.0..0.130.258.0j2......0....1..gws-wiz-img.10szHAao5lM&ei=5ntvXr7cNoLD0AS2rJ6YCQ') for i in range(1, 10): driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") time.sleep(1) for i in range(1,100): img = driver.find_element_by_xpath('//*[@id="islrg"]/div[1]/div[' +str(i) +']/a[1]/div[1]/img') print(img) src = img.get_attribute('src') print(src) urllib.request.urlretrieve(src, "./dog/" + str(i) +".png") driver.close()
если у вас есть такой код в вашем скрипте "options.add_argument (" - headless ")", прокомментируйте его и запустите снова, появится браузер chrome, и вы увидите, что изображения сгруппированы только по страницам.