from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
import os
import re
driver = webdriver.Chrome('C:/Users/admin/AppData/Local/Google/Chrome/Application/chromedriver.exe')
# 列出目录下所有的图片,存在 images 这个列表中
images = os.listdir('C:/Users/admin/Pictures/Saved Pictures')
# 处理所有图片
for i in range(len(images)):
# 构建图片路径
path = 'C:/Users/admin/Pictures/Saved Pictures/' + images[i]
# 尝试处理所有图片
try:
# 打开 Squoosh
driver.get('https://squoosh.app')
# 找到输入框
input_box = driver.find_element_by_xpath('.//input[@class="_2zg9i"]')
# 输入图片路径
input_box.send_keys(path)
#设置图片格式
select1 = Select(driver.find_elements_by_css_selector('select')[-1])
if re.match('.*.png',images[i]):
select1.select_by_value("png")
if re.match('.*.jpg',images[i]):
select1.select_by_value("mozjpeg")
# 等待出现 'smaller'字样,10秒不出现则视为处理失败
locator = (By.XPATH, './/span[@class="_1eNmr _1U8bE"][last()]')
WebDriverWait(driver, 25).until(EC.text_to_be_present_in_element(locator, 'smaller'))
# 找到下载按钮
button = driver.find_elements_by_xpath('.//a[@title="Download"]')[-1]
# 点击下载按钮
button.click()
# 输出处理失败的图片路径
except:
print('*'*30)
print('Error: '+ path +' failed!')
print('*'*30)
continue
网友回复
python能写一个检测nginx rewrite高危漏洞的工具代码?
css如何给video视频进行mask遮罩?
windows如何同时允许两个用户远程桌面连接同一个电脑?
nginx升级到1.30.1导致无法启动 [emerg] SSL_CTX_new() failed怎么办?
什么是ASLR(地址随机化)?
有没有不依赖embedding向量的RAG技术?
有没有支持实时打断语音通话并后台帮你执行任何的ai模型?
开源ai大模型文件格式GGUF、MLX、Safetensors、 ONNX 有什么区别?
出海挣钱支付收款PayPal、Wise 、PingPong、Stripe如何选择?
如何实现类似google的图片隐形水印添加和识别技术?


