python - 如何将唯一 ID 添加到我的(python)Splinter 屏幕截图文件名中?
问题描述
我正在使用 Splinter(在 Chrome 浏览器中)截取网站页面的屏幕截图。我完全按照我想要的方式命名文件,但在我的文件名末尾添加了唯一的字符串(例如,“filename2k3j39.png”)。我没有在 Splinter 或 Selenium 文档中找到任何表明这些已添加的内容。程序的哪个部分添加了唯一 ID?Windows 10、Chromedriver、Selenium、Splinter?
我检查了我的 Chrome 设置,但没有看到任何内容。文件保存为 PNG,因此它不是 PDF 设置。
from splinter import Browser
executable_path = {'executable_path':r'C:\Users\me\chromedriver.exe'}
browser = Browser('chrome', **executable_path)
screenshot_path = browser.screenshot('C:/Home/Progress/me/screen shots/' + my_var + '/web/www_' + name + ' (' + now.strftime("%Y-%m-%d") + ')', full=True)
结果www_Name (1-1-2000)2k3j39.png
是www_Name (1-1-2000).png
解决方案
所以,我弄清楚了这里发生了什么....通过调试 splinter 库,我可以看到它与文档不匹配。该库采用文件名,将其用作 python 函数的前缀来创建临时文件并添加未记录的参数后缀(默认为 png)。然后它从函数返回文件名。
因此,我将代码修改为:
filename = tdir + datetime.date.today().strftime('%Y-%b-%d-image.png')
actualName = element.screenshot(filename, suffix='.png', full=False)
move(actualName, filename)
rename
我在 windows和windows 上的 python os 库也有问题remove
,因此我正在使用shutil.move
推荐阅读
- python - 在没有库的情况下更改句子 Python 中的字符
- android - 如何使 RTL appBarConfiguration androidx.navigation?
- python - 将日期转换为整个新列的不同格式
- angular - 在 click 方法上从另一个组件调用 app.component.ts 上的方法 - 角度 6
- ios - SwiftUI List 在导航展示后有一个奇怪的过渡
- c# - 使用自定义 WebApplicationFactory 设置集成测试项目
- python - 如何在 zsh 中显示 conda 的环境(不使用 oh-my-zsh)?
- flutter - Flutter 如何在容器中显示 Widget 列表
- c++ - C++ 未知类型名称,即使类型是通过标头定义的
- sql - 使用oracle SQL获取最近两年每个月的最后一天