0

我正在尝试从网站下载一些图像(图像是可变的)并且我使用了以下代码

from helium import *

for i in range(3):
    driver = start_chrome("https://eservices.moj.gov.kw/searchPages/searchCases.jsp", headless=True)
    element = driver.find_element_by_xpath("//*[@id='frmCaseNo']/div[2]/img")
    driver.execute_script("arguments[0].scrollIntoView();", element)
    element.screenshot(f'Number_{i}.png')

每个循环中的代码都会启动新的驱动程序,我认为这有点慢。我怎样才能启动驱动程序一次然后导航到 url 几次?

我试过这个

from helium import *

driver = start_chrome("https://eservices.moj.gov.kw/searchPages/searchCases.jsp", headless=True)

for i in range(3):
    driver.get("https://eservices.moj.gov.kw/searchPages/searchCases.jsp")
    element = driver.find_element_by_xpath("//*[@id='frmCaseNo']/div[2]/img")
    driver.execute_script("arguments[0].scrollIntoView();", element)
    element.screenshot(f'Number_{i}.png')

这很好用,但我不确定我是否正确使用相同的 url 到 start_chrome,然后使用该get方法再次使用该 url。

4

1 回答 1

1
from helium import *

driver =start_chrome()
for i in range(3):
    driver.get(
        "https://eservices.moj.gov.kw/searchPages/searchCases.jsp")
    element = driver.find_element_by_xpath("//*[@id='frmCaseNo']/div[2]/img")
    driver.execute_script("arguments[0].scrollIntoView();", element)
    element.screenshot(f'Number_{i}.png')

或者

from helium import *

driver = start_chrome(
    "https://eservices.moj.gov.kw/searchPages/searchCases.jsp")
for i in range(3):
    driver.refresh()
    element = driver.find_element_by_xpath("//*[@id='frmCaseNo']/div[2]/img")
    driver.execute_script("arguments[0].scrollIntoView();", element)
    element.screenshot(f'Number_{i}.png')

您可以使用上述方法来避免打开 url 两次

于 2021-02-20T13:34:23.290 回答