捕获最小化浏览器的屏幕截图

发布于 2025-02-09 02:01:17 字数 327 浏览 0 评论 0原文

我正在考虑让我的程序打开Selenium WebDriver浏览器,进入特定页面并屏幕截图。但是,需要最小化窗口,以免过多干扰我们的用户。 我让WebDriver正常工作,我只需要屏幕截图,

甚至可以这样做?

我调查了这一点,但要了解他们在做什么,这还远远不足: 使用C#,WPF保存窗口的屏幕截图和DWM

任何帮助都将受到赞赏!

I'm looking into having my program open a Selenium WebDriver browser, go into a specific page and take a screenshot of it. However, the window needs to be minimized in order to not interfere with our users too much.
I have the WebDriver working fine, I just need to get a screenshot of it

Is this even possible to do so?

I looked into this, but it's far to advanced for me to understand what they're doing:
Saving a screenshot of a window using C#, WPF, and DWM

Any help is appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

海夕 2025-02-16 02:01:17

是的,可以使用使用OpenQA.Selenium.Chrome进行操作:

private ChromeDriver _driver;

public void Run()
{
    InitWebDriverInMinimizedWindow();

    // Your code that uses _driver

    TakeScreenshot(@"D:\Screenshots\screenshot001.jpg");
}

public void InitWebDriverInMinimizedWindow()
{
    var options = new ChromeOptions();

    // launch a browser without creating a window
    options.AddArgument("headless");
    _driver = new ChromeDriver(options);
}

public void TakeScreenshot(string fileName)
{
    try
    {
        Screenshot screenshot = ((ITakesScreenshot)_driver).GetScreenshot();
        screenshot.SaveAsFile(fileName, ScreenshotImageFormat.Jpeg);
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
        throw;
    }
}

Yes, it is possible to do using using OpenQA.Selenium.Chrome:

private ChromeDriver _driver;

public void Run()
{
    InitWebDriverInMinimizedWindow();

    // Your code that uses _driver

    TakeScreenshot(@"D:\Screenshots\screenshot001.jpg");
}

public void InitWebDriverInMinimizedWindow()
{
    var options = new ChromeOptions();

    // launch a browser without creating a window
    options.AddArgument("headless");
    _driver = new ChromeDriver(options);
}

public void TakeScreenshot(string fileName)
{
    try
    {
        Screenshot screenshot = ((ITakesScreenshot)_driver).GetScreenshot();
        screenshot.SaveAsFile(fileName, ScreenshotImageFormat.Jpeg);
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
        throw;
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文