from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
# Setup WebDriver
driver = webdriver.Firefox()
driver.get("https://somesite.com/")
# Wait for the image to be loaded
wait = WebDriverWait(driver, 10)
img = wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/div[2]/div/div[1]/a/img')))
# Get image URL
img_url = img.get_attribute('src')
# Download the image using Selenium
driver.get(img_url)
time.sleep(2) # Wait for the image to load
# Save the image
with open("saved_image.jpg", "wb") as file:
file.write(driver.find_element(By.TAG_NAME, "img").screenshot_as_png)
# Clean up
driver.quit()
该脚本使用Selenium导航到图像URL,然后使用Selenium's屏幕截图功能保存图像。它确保在保存之前加载图像,并且不会将Selenium与请求混合,如果图像需要有效的会话或访问特定的cookie,这会很有帮助。