当前位置: 首页 > 知识库问答 >
问题:

不能用Chrome在命令行中截图

潘意
2023-03-14

我的最终目标是能够自动截图。为此,我一直在阅读这篇文章,它说在命令行中应该像下面这样简单:

chrome --headless --disable-gpu --screenshot https://www.chromestatus.com/

但是我在当前目录中没有得到任何screenshot.png文件,在我的例子中是C:\temp。我也尝试省略'headless'参数,但唯一发生的事情是,Chrome打开网站,但没有创建文件。

public void ScreenshotPage(string url)
{
    ChromeOptions o = new ChromeOptions();

    o.AddArgument("window-size=1920,1200");
    o.AddArgument("disable-gpu");
    o.AddArgument("disable-extensions");
    o.AddArgument("headless");
    o.AddArgument(url);

    using (var driver = new ChromeDriver(o))
    {
        //driver.Navigate().GoToUrl(url); // if o.AddArgument(url) doesn't work then try this instead.
        //Thread.Sleep(10000);
        Screenshot screenshot = driver.GetScreenshot();
        screenshot.SaveAsFile(@"C:\temp\test.png", ScreenshotImageFormat.Png);
    }
}

环境:Google Chrome 63.0.3239.132 64位,Windows 10(和服务器2012),Chromedriver 2.34

共有1个答案

柳才良
2023-03-14

试试看这个

using (var driver = new ChromeDriver(o))
{
    Screenshot ss = ((ITakesScreenshot)driver).GetScreenshot();
    ss.SaveAsFile(@"C:\temp\test.png", ScreenshotImageFormat.Png);
}
 类似资料:
  • 问题内容: 我正在尝试执行我的PHP代码,该代码通过mysqli调用两个MySQL查询,并得到错误“命令不同步;您现在不能运行此命令”。 这是我正在使用的代码 我曾尝试阅读此书,但不确定该怎么做。我已经阅读了有关存储结果和免费结果的信息,但是使用它们时并没有什么区别。我不确定此错误的确切原因,并想知道其原因以及如何解决。 按照我的调试语句,由于我的sql语法near附近,甚至没有输入countQu

  • 我试着从命令行访问mvn。 我试图验证Maven是否如手册所说通过MVN--version进行了良好配置,但结果是: 这会是什么?我是否应该在每次需要变量时导出它们?

  • 问题内容: 我已经将注册脚本从mysql转换为mysqli。我作为mysql正常工作,但是现在却给我错误 这是我用来注册用户的功能 电子邮件可以很好地发送来自我的阵列的正确数据。但是,没有数据插入到数据库中,并且出现了上面提到的错误。我以前从未遇到过这个错误。 问题答案: 如果 命令不同步; 您现在无法在客户端代码中运行此命令,您以错误的顺序调用了客户端函数。 例如,如果您使用的是mysql_us

  • 问题内容: 我有一个从Python(包装在Django中)执行的MySQL存储过程。当我尝试执行第二条语句时,出现错误“命令不同步;您现在不能运行此命令”。我目前无法提交交易。当我调用过程时,这只是一个问题。该怎么办? 编辑:我被要求发布MySQL过程。我使它变得非常简单,但我仍然遇到相同的问题 问题答案: 感谢JoshuaBoshi的回答,该问题得以解决。调用该过程之后,我必须关闭游标并再次打开

  • 问题内容: 在我的数据库中,我有一些存储过程。 我想给其中一个打个电话,根据我从此过程中得到的结果,我将确定是否要打第二个天气。 如您所见,我使用的方法 但是仍然在调用其他过程时得到: 这是我对db函数的调用: 问题答案: 每个存储过程至少返回 两个 结果 一个(或多个)实际结果 一个空结果告诉客户没有其他结果。 您必须使用/ 清洁它们。 如果您的过程仅返回一个结果,或者您只想要第一个结果,而不想

  • 问题内容: 我试图在我的Mac OS X 10.9.5上启动并运行mysql。我已经安装了最新版本的 社区服务器。我已经进入系统偏好设置并启动了mysql服务器,然后启动了终端并输入了以下内容: 返回版本,但是当我键入任何类型的mysql命令时,我都会得到。我也试过,。 我确实安装了带有mysql等的虚拟主机,但是我希望能够首先在命令行中掌握它。 问题答案: 因此,终端在很少的地方寻找命令。此位置