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

Java的Selenium Chromedriver屏幕截图与这套屏幕截图的分辨率不同

景品
2023-03-14

我正在使用Selenium和Chrome驱动程序来拍摄一个站点的屏幕截图,并将窗口尺寸设置为800x600。当我看到.png时,它比这个值更大,并且每个屏幕分辨率都有变化。差异大于滚动条,将其设置为捕获800x600,它将产生1179x704图像(我的监视器res是3840 x 2160)。这也会根据监视器上的分辨率而改变。有没有一种方法可以设置它,这样无论屏幕分辨率是多少,输出都是一样的?

我试过:

Driver.Manage().Window().SetSize(新维度(800,600));

(&A)

Options.AddArguments(“window-size=800x600”);

public static void main(String[] args)throws IOException {   

    System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
    DesiredCapabilities dc = DesiredCapabilities.chrome();
    ChromeOptions options = new ChromeOptions();

    //options.addArguments("window-size=800x600");

    WebDriver driver = new ChromeDriver(options);

    driver.get("https://www.website.com");
    driver.manage().window().setSize(new Dimension(800, 600));
    File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);


        FileUtils.copyFile(scrFile, new File("screenshot.png"));
        System.out.println("DONE TAKING SCREENSHOT OF SITE");

共有1个答案

胡劲
2023-03-14

如果您不介意切换到无头模式,请尝试添加以下行:

options.addArguments("--headless");
options.addArguments("--window-size=800,600");
 类似资料:
  • 在Linux下有很多屏幕载图的工具,下面简单介绍一下: 在GNOME桌面中自带了一个屏幕截图工具,位于“动作”栏内。该工具功能很少,只能截取当前屏幕。 在GMIP中也可截图,在“文件”--“获取”菜单下有一个“屏幕抓图”选项可进行屏幕截图。它可截取任意图窗口的内容,并自动输入到GMIP中,我们可方便地进行处理和保存。 安装ImageMagick软件,它有一个工具叫import可用于屏幕截图。该工具

  • 点击按钮进行截屏,可以将截屏图像保存到相册中。 作者说:听说会和苹果的策略有冲突,应用如果上架可能会被拒绝。这个估计是看人品了吧。经过测试发现,如果先弹出对话框,然后再截屏,似乎并不能把对话框也给保存下来。 [Code4App.com]

  • 功能介绍 获取百度移动统计平台的全部屏幕分辨率列表 接口 https://openapi.baidu.com/rest/2.0/mtj/svc/config/getScreenList?access_token={ACCESS_TOKEN} 请求参数 参数名 类型 描述 样例 access_token string 用户登入后获取的token 1.a6b7dbd428f731035f771b8d

  • 问题内容: 我希望用户在Swift中以编程方式按下按钮后继续运行我的应用并为应用截图。我知道需要截图,但是我不需要整个屏幕的图片。我希望弹出一个矩形(有点像裁剪工具),并且用户可以拖动矩形并调整其大小以仅截取屏幕的特定部分的屏幕截图。我希望矩形经过a 并裁剪Web视图的图片。 问题答案: 标准的快照技术是,将其绘制到图像上下文。在iOS 10及更高版本中,您可以使用: 而且您会这样使用: 在iOS

  • 我试图根据用户输入的坐标捕捉区域截图。基本上,用户在屏幕上点击得到x,y坐标,然后在其他地方点击另一对x,y坐标,然后将其放入一个矩形中,并使用机器人库创建屏幕截图。 我有的问题是,我得到了随机截图,这不是用户输入的坐标,我怎么能考虑包括0的坐标,因为矩形值必须超过1。 以下是我迄今为止的代码:

  • 问题内容: 我正在尝试获取包含SKScene的视图的屏幕抓图。我使用的技术是: 这对于普通的UIViews效果很好,但是无论出于何种原因,它都忽略了SKScene中的所有精灵。 我不确定这是否是错误,或者Sprite Kit的渲染是否与UIGraphics分开。 问题:当适用于UIViews的方式似乎不适用于Sprite Kit或有人成功将UIGraphics上下文与Sprite Kit结合使用时