启动一个 selenium 或 helium 驱动程序实例

Launch one instance of selenium or helium driver

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

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,然后再次使用 url 和 get 方法.

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两次