Gibt es gute Beispiele, wie man einen Screenshot in Selen Webdriver C # macht, dann das Bild zuschneidet und speichert?

Ich habe nach guten Beispielen gesucht, wie man mit ITakesScreenshot in Selenium Webdriver in C # einen Screenshot macht, das Bild dann mit den Elementbemaßungen zuschneidet und dieses neue Bild dann speichert. Ohne solches Glück habe ich in C # welche gefunden.

Ich habe diese Methode im Moment, aber immer wieder erhalte ich eine Ausnahme wegen zu wenig Arbeitsspeicher, wenn ich sie in einem Test verwende. Es schlägt in der Zeile fehl, in der es zu beschneiden versucht.

public void TakeScreenShotOfElement(IWebDriver _driver, string rootpath, string imgName, string element2)
    {

            string element3 = element2;
            var element = driver.FindElement(By.XPath(element3));
            Byte[] ba = ((ITakesScreenshot)driver).GetScreenshot().AsByteArray;
            var ss = new Bitmap(new MemoryStream(ba));

            var crop = new Rectangle(element.Location.X, element.Location.Y, element.Size.Width, element.Size.Height);

            //create a new image by cropping the original screenshot
            Bitmap image2 = ss.Clone(crop, ss.PixelFormat);


            if (!Directory.Exists(rootpath))
            {
                Directory.CreateDirectory(rootpath);
            }
            image2.Save(String.Format("{0}\\{1}.png", rootpath, imgName), System.Drawing.Imaging.ImageFormat.Png);

    }

Jede Hilfe wird sehr geschätzt, danke im Voraus !!!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage