Menu

PhantomJs ile Screenshot (Ekran Yakalama) C#

Merhabalar; Bu ara yoğunlukla çalıştığım Web Scraping konularında çalışmaktayım. Ara ara kullandığın ekran yakalama kodunu sizlerle paylaşıyorum.

Javascript devre dışı bırakarak ziyareti gerçekleştiriyorum.

var opts = new PhantomJSOptions();
opts.AddAdditionalCapability("phantomjs.page.settings.javascriptEnabled", false);
var service = PhantomJSDriverService.CreateDefaultService(System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath + "bin", "phantomjs.exe");
using (var driver = new PhantomJSDriver(service, opts, TimeSpan.FromSeconds(90)))
{
    driver.Manage().Window.Maximize();
    driver.Navigate().GoToUrl(recordItem.InternetData.Url);
    
    Screenshot screenShot = ((ITakesScreenshot)driver).GetScreenshot();
    switch (this.Setting.Image.imageExtention.Replace(".", ""))
    {
        case "jpeg":
        case "jpg":
            screenShot.SaveAsFile(ScreenShotFileName, ImageFormat.Jpeg);
            break;
        case "png":
            screenShot.SaveAsFile(ScreenShotFileName, ImageFormat.Png);
            break;
        case "bmp":
            screenShot.SaveAsFile(ScreenShotFileName, ImageFormat.Bmp);
            break;
        default:
            screenShot.SaveAsFile(ScreenShotFileName, ImageFormat.Jpeg);
            break;
    }
    driver.Quit();
}

About Ragıp Ünal

SOFTWARE ARCHITECTURE & BIG DATA

Yandex.Metrica