0

私は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);

しかし、私の人生では、これを行う方法がわかりません。誰かがアドバイスしたり、私が作業できるようにするための良いスクリーンショットを持ったりすることができます. ありがとう

4

2 に答える 2

1

これら 2 つの手順を 1 つのコンソール コンテキストで実行している場合。次に、新しく作成されたフォルダー名を呼び出し元の関数に返すだけです。そのフォルダー名を (文字列として) 使用して、ファイルを保存します。

このようなもの:

SaveAsFile(Path.Combine(returnedFolderName, suggestedFileName).....

于 2013-03-12T14:13:48.650 に答える
1

そのようです:

screenshot.SaveAsFile(Path.Combine(newFolder,"screenshot.png", ImageFormat.Png);

フォルダ構造を再考してください。ルート フォルダに無数のフォルダがあり、それぞれにファイルが 1 つしかないのは非常に面倒です。

より良いアプローチは

newFolder = Path.Combine(Environment.SpecialFolder.MyPictures, "Screenshots",DateTime.Now.ToString("yyyyMMdd"));

そしてターゲットファイル名:

Path.Combine(newFolder, "Screenshot "+DateTime.Now.ToString("HH-mm-ss-fff")+".png");
于 2013-03-12T14:20:48.397 に答える