Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Selenium IFrame屏幕截图_Java_C# - Fatal编程技术网

Java Selenium IFrame屏幕截图

Java Selenium IFrame屏幕截图,java,c#,Java,C#,如何制作IFrame元素的屏幕截图? 我使用以下代码: public static void SaveScreenShot(IWebDriver driver, IWebElement element) { // Take ScreenCap of Entire Screen var screenshotDriver = driver as ITakesScreenshot; Screenshot screenshot = screenshotDriver.GetScre

如何制作IFrame元素的屏幕截图? 我使用以下代码:

public static void SaveScreenShot(IWebDriver driver, IWebElement element)
{
    // Take ScreenCap of Entire Screen
    var screenshotDriver = driver as ITakesScreenshot;
    Screenshot screenshot = screenshotDriver.GetScreenshot();
    var bmpScreen = new Bitmap(new MemoryStream(screenshot.AsByteArray));
    // Crop ScreenCap to Element
    var cropArea = new Rectangle(element.Location, element.Size);
    Bitmap bmpCrop = bmpScreen.Clone(cropArea, bmpScreen.PixelFormat);
    //Save
    bmpCrop.Save("D://img//screen.jpeg", ImageFormat.Jpeg);
}
但是它捕获了元素后面的屏幕,因此是主页,而不是iFrame。在进行屏幕截图之前,我切换到帧:

driver.SwitchTo().Frame(puzzleFrame);
尝试
driver.SwitchTo().DefaultContent().Frame(拼图框)。也可以考虑,在屏幕截图之前,切换可能不会发生得太快。请尝试<代码>驱动程序。代码>。也可以考虑,切换可能不会发生得足够快,才可以进行截图。