如何在Python中使用Selenium将截图保存到指定目录
解决Selenium截图保存到脚本子目录的问题
你用的几种写法,其实都是把截图存在当前工作目录的Screenshots子目录里,但当前工作目录不一定是你的脚本所在目录——比如你如果在终端里切换到其他文件夹再运行脚本,那截图就会存在终端当前的文件夹里,而不是脚本文件夹,这就是你找不到的原因。
正确的做法:固定保存到脚本的子目录
要确保截图存到脚本所在文件夹的Screenshots子目录,得先获取脚本的真实路径,再拼接目标路径,还要提前创建好子目录(不然会报错):
import os from selenium import webdriver # 获取脚本所在的文件夹路径 script_folder = os.path.dirname(os.path.abspath(__file__)) # 拼接截图的完整保存路径 save_path = os.path.join(script_folder, 'Screenshots', '1.png') # 自动创建Screenshots目录(如果不存在的话) os.makedirs(os.path.dirname(save_path), exist_ok=True) # 后续正常调用Selenium driver = webdriver.Chrome() driver.get("https://example.com") driver.save_screenshot(save_path) driver.quit()
验证路径的小技巧
不确定截图存在哪的话,直接把路径打印出来看看:
print(save_path)
运行后控制台会输出完整的绝对路径,直接去对应的文件夹找就行。
补充说明你之前的写法
os.path.join(os.getcwd(), 'Screenshots', '1.png'):os.getcwd()是你运行脚本时的当前工作目录,不是脚本所在目录./Screenshots/1.png和Screenshots/1.png:和上面的路径完全等价,都是相对当前工作目录的路径
内容的提问来源于stack exchange,提问作者Samuel Bone
相关产品推荐
相关产品推荐

