Sto provando a catturare uno screenshot dell'intero schermo del browser (ad esempio con barre degli strumenti, pannelli e così via) non solo un'intera pagina, quindi ho questo codice:Ottieni handle di finestra (IntPtr) dalla finestra corrente del selenio web GUID
using (FirefoxDriver driver = new FirefoxDriver())
{
driver.Navigate().GoToUrl(url);
ScreenCapture sc = new ScreenCapture();
// How can I find natural IntPtr handle of window here, using GUID-like identifier returning by driver.currentWindowHandle?
Image img = sc.CaptureWindow(...);
MemoryStream ms = new MemoryStream();
img.Save(ms, ImageFormat.Jpeg);
return new FileStreamResult(ms, "image/jpeg");
}
bel trucco, btw, ma se ci sono due diversi istanze di FireFox con lo stesso titolo? – kseen
@kseen È possibile sostituire ['FirstOrDefault'] (http://msdn.microsoft.com/en-us/library/bb549039) con [' SingleOrDefault'] (http://msdn.microsoft.com/en-us/library/bb549274), in modo che se ci sono due diverse versioni del browser con lo stesso titolo otterrete un'eccezione. Se sei su un banco di prova, puoi affermarlo. –
@PaoloMoretti come posso ottenere la gestione della finestra corrente (finestra esistente che viene aperta manualmente) che non viene aperta dal driver significa che non posso usare driver.getWindowHandle(); –