硒解析问题,滚动

Problem with parsing on selenium, scrolling

有问题,我会解释代码的脚本

首先,我们转到主页,然后转到第 1 页的 for 循环,滚动并解析到照片的链接(不滚动就不会解析),然后转到第 2 页,然后已经是个问题了。 它会在一秒钟内滚动到底部。我需要它逐渐滚动,就像在第一页上一样。 我扔代码:

driver.get(url=url)

n = 0

urla = driver.find_element(By.CLASS_NAME, "ipsPagination_pageJump").text


for page_number in range(int(urla.split()[3])):
    page_number = page_number + 1
    driver.get(url=url + f"page/{page_number}")
    time.sleep(2)
    imgs = driver.find_elements(By.CLASS_NAME, "cGalleryPatchwork_image")
    for i in imgs:
        n = n + 500
        driver.execute_script(f"window.scrollTo(0, {n})")
        time.sleep(0.2)
        print(i.get_attribute("src"))

driver.quit()

我知道代码很烂而且没有优化

要逐个元素滚动 你应该使用以下 execute_script 命令 driver.execute_script("arguments[0].scrollIntoView(true);", i)

代码:

for page_number in range(int(urla.split()[3])):
    page_number = page_number + 1
    driver.get(url=url + f"page/{page_number}")
    time.sleep(2)
    imgs = driver.find_elements(By.CLASS_NAME, "cGalleryPatchwork_image")
    for i in imgs:
        #n = n + 500
        #driver.execute_script(f"window.scrollTo(0, {n})")
        driver.execute_script("arguments[0].scrollIntoView(true);", i)
        time.sleep(0.2)
        print(i.get_attribute("src"))