首页 > 解决方案 > 如何将唯一 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.pngwww_Name (1-1-2000).png

标签: pythonseleniumwebdriverselenium-chromedriversplinter

解决方案


所以,我弄清楚了这里发生了什么....通过调试 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


推荐阅读