【发布时间】:2017-11-10 02:02:13
【问题描述】:
我想在用flash写的网页上截屏
为此,我有这个代码:
ChromeOptions options = new ChromeOptions();
IWebDriver driver = new ChromeDriver(options);
...
// I'm clicking on button whicch opens new browser window
driver.FindElement(By.ClassName("click_me")).Click();
Thread.Sleep(1500);
//switch to new window
driver.SwitchTo().Window(driver.WindowHandles.Last());
//maximize it
driver.Manage().Window.Maximize();
//wait for load
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
//and then take screenshot
Screenshot sc = ((ITakesScreenshot)driver).GetScreenshot();
sc.SaveAsFile(String.Format(@"{0}\{1}.{2}", Environment.GetFolderPath(Environment.SpecialFolder.Desktop), Guid.NewGuid(), ScreenshotImageFormat.Png), ScreenshotImageFormat.Png);
这里一切正常,但等待加载。它需要加载屏幕的屏幕截图。我能做什么?
【问题讨论】:
-
如果您不想使用任何其他框架,只需添加一些代码以等待网页上的特定文本再进行截图。例如:尝试搜索特定文本是否可见,然后继续截图。
-
@ChandraShekhar 但它是 Flash 而不是 html。那我该怎么做呢?
-
我们没有要搜索的单个 HTML 元素吗?
-
有body/div/object。这些标签加载速度很快,但对象标签 (swf) 内的内容不是
标签: c# selenium flash selenium-webdriver