我是c#的新手,我创建了一个函数,每次运行控制台时都会创建一个带有时间戳的新文件夹。
string newfolder = @"d:\Denby_Screenshots" + DateTime.Now.ToString(" yyyy-MM-dd-HH-mm-ss-fff");
if (!Directory.Exists(newfolder))
{
Directory.CreateDirectory(newfolder);
Console.WriteLine("Screenshot folder has been created");
}
然后我希望将其删除,以便将屏幕截图保存到这个新创建的文件中。
static private Test_Criteria Block_Two(IWebDriver driver, Screenshot screenshot, string newfolder)
{
{
screenshot = ((ITakesScreenshot)driver).GetScreenshot();
screenshot.SaveAsFile("d:\\ScreenShot.png",System.Drawing.Imaging.ImageFormat.Png);
但对于我的生活,我不知道如何做到这一点,任何人都可以建议或有任何好的截图让我能够工作。 感谢
答案 0 :(得分:1)
如果您在一个控制台上下文中执行这两个步骤。然后,简单地将新创建的文件夹名称返回给调用函数。并使用该文件夹名称(作为字符串)将文件保存到。
这样的事情:
SaveAsFile(Path.Combine(returnedFolderName, suggestedFileName).....
答案 1 :(得分:1)
像这样:
screenshot.SaveAsFile(Path.Combine(newFolder,"screenshot.png", ImageFormat.Png);
重新考虑你的文件夹结构,在你的根文件夹中有一个zillion文件夹,每个文件夹中只有一个文件会非常烦人。
更好的方法是
newFolder = Path.Combine(Environment.SpecialFolder.MyPictures, "Screenshots",DateTime.Now.ToString("yyyyMMdd"));
目标文件名:
Path.Combine(newFolder, "Screenshot "+DateTime.Now.ToString("HH-mm-ss-fff")+".png");