У меня проблема с созданием снимка HTML-документа, работающего в разных браузерах.
Я хочу сделать снимки веб-страницы, запущенной в другом браузере (Chrome, Fire Fox и т. Д.) Для проверки совместимости браузера, но у меня проблема со временем загрузки html-документа, и вот мой код,
private void button1_Click(object sender, EventArgs e)
{
//Process p = new Process();
// p.StartInfo = new ProcessStartInfo();
foreach (string key in ConfigurationManager.AppSettings.Keys)
{
Process p = new Process();
p.StartInfo = new ProcessStartInfo();
p.StartInfo.FileName = ConfigurationManager.AppSettings[key];
p.StartInfo.Arguments = @"www.google.com";
p.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
p.Start();
p.PriorityClass = ProcessPriorityClass.High;
System.Threading.Thread.Sleep(30000);
Rectangle bounds = Screen.GetBounds(Point.Empty);
using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
{
using (Graphics g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
}
bitmap.Save("E:\\ChandraPrakash\\My Testings\\Screen Grab\\Images\\screen_shot" + key + ".jpg", ImageFormat.Jpeg);
}
this.WindowState = FormWindowState.Normal;
this.BringToFront();
this.Focus();
//p.Kill();
}
}
и мой код app.config,
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Chrome" value="C:\Documents and Settings\uba\Local Settings\Application Data\Google\Chrome\Application\chrome.exe"/>
<add key="Firefox" value="C:\Program Files\Mozilla Firefox\firefox.exe"/>
<add key="Safari" value="C:\Program Files\Safari\Safari.exe"/>
<add key="Ie" value="C:\Program Files\Internet Explorer\IEXPLORE.EXE"/>
<add key="Opera" value="C:\Program Files\Opera\opera.exe"/>
</appSettings>
</configuration>
Здесь я использую System.Threading.Thread.Sleep(10000);
, но он не работает, если страница загружается медленно, так как я могу узнать время загрузки страницы? Есть ли другой способ сделать снимок экрана HTML-документа в другом браузере?
Заранее спасибо.