Macos 无法使用网格和RemoteWebDriver在Safari上拍摄屏幕截图

Macos 无法使用网格和RemoteWebDriver在Safari上拍摄屏幕截图,macos,selenium-webdriver,safari,selenium-grid,Macos,Selenium Webdriver,Safari,Selenium Grid,我正在尝试使用Grid和RemoteWebDriver从Safari获取屏幕截图。我尝试了以下方法: 使用下面的代码。它适用于除Safari之外的所有浏览器。我还尝试返回BASE64字符串,但没有成功 WebDriver augmentedDriver = new Augmenter().augment(driver); File source = ((TakesScreenshot)augmentedDriver).getScreenshotAs(OutputType.FILE); FileU

我正在尝试使用Grid和RemoteWebDriver从Safari获取屏幕截图。我尝试了以下方法:

  • 使用下面的代码。它适用于除Safari之外的所有浏览器。我还尝试返回BASE64字符串,但没有成功

    WebDriver augmentedDriver = new Augmenter().augment(driver);
    File source = ((TakesScreenshot)augmentedDriver).getScreenshotAs(OutputType.FILE);
    FileUtils.copyFile(source, new File("screenshot.png"));
    
    异常:org.openqa.selenium.WebDriverException

  • 使用WebDriverBackedSelenium。这会引发异常

    a

    异常:java.lang.UnsupportedOperationException:captureScreenshot

    b

    异常:java.lang.UnsupportedOperationException:WebDriver未实现TakeScreenshot

  • 我尝试使用
    sendKeys(Keys.chord(Keys.command,Keys.shift,“3”)
    发送在MAC中拍摄屏幕快照的按键序列(command+shift+3)但是
    按键。command
    不被视为修改键,因此这也不起作用

  • WebDriver augmentedDriver = new Augmenter().augment(driver);
    File source = ((TakesScreenshot)augmentedDriver).getScreenshotAs(OutputType.FILE);
    FileUtils.copyFile(source, new File("screenshot.png"));
    
    经过一些研究,我发现了以下问题:

    我还看到了这个修订版,它应该可以解决这个问题,但我不知道如何实现它


    如果我能在这方面得到一些帮助,我将不胜感激。我正在使用MAC、Safari 5.1.7和selenium 2.25。

    以供将来参考:这似乎是selenium 2.26中的内容

    Selenium sel = new WebDriverBackedSelenium(driver, driver.getCurrentUrl());
    sel.captureScreenshotToString();