Я создавал приложение, которое публикует видео в домене пользователей. Я использовал для этого веб-браузер. Это работает довольно хорошо, без ошибок. Но когда у приложения есть больше видео для публикации, тогда оно иногда застревает.
Например, когда я нажимаю кнопку подтверждения в коде, он работает хорошо, но когда он делает это, может быть 10 раз, он останавливает обряд, иногда он продолжается после некоторых задержек и также продолжается, если мы нажимаем кнопку вручную.
Это странная вещь. Любая подсказка, что может быть не так или может быть, есть какая-то проблема с кешем.
если есть альтернативный способ сделать это, пожалуйста, дайте мне знать
КОД в событии DocumentComplete
//Select HTML view
if (webBrowserPostVideo.Document.GetElementById("edButtonHTML") != null)
webBrowserPostVideo.Document.GetElementById("edButtonHTML").InvokeMember("click");
//Enter Content
if (webBrowserPostVideo.Document.GetElementById("content") != null)
{
webBrowserPostVideo.Document.GetElementById("content").InvokeMember("click");
webBrowserPostVideo.Document.GetElementById("content").InvokeMember("click");
webBrowserPostVideo.Document.GetElementById("content").InvokeMember("click");
webBrowserPostVideo.Document.GetElementById("content").SetAttribute("InnerText",
youtubeVideos[SelectedVideo].VideoCode
.Replace("<HTML>", "").Replace("</HTML>", "").Replace("<BODY>", "").Replace("</BODY>", ""));
}
//post Month
if (webBrowserPostVideo.Document.GetElementById("mm") != null && youtubeVideos[SelectedVideo].PostingDateTime.Substring(6, 2) != null)
webBrowserPostVideo.Document.GetElementById("mm").SetAttribute("value",
youtubeVideos[SelectedVideo].PostingDateTime.Substring(5, 2));
//Post Date
if (webBrowserPostVideo.Document.GetElementById("jj") != null && youtubeVideos[SelectedVideo].PostingDateTime.Substring(8, 2) != null)
webBrowserPostVideo.Document.GetElementById("jj").SetAttribute("value",
youtubeVideos[SelectedVideo].PostingDateTime.Substring(8, 2));
//Post Year
if (webBrowserPostVideo.Document.GetElementById("aa") != null && youtubeVideos[SelectedVideo].PostingDateTime.Substring(0, 4) != null)
webBrowserPostVideo.Document.GetElementById("aa").SetAttribute("value",
youtubeVideos[SelectedVideo].PostingDateTime.Substring(0, 4));
//Post Hour
if (webBrowserPostVideo.Document.GetElementById("hh") != null && youtubeVideos[SelectedVideo].PostingDateTime.Substring(11, 2) != null)
webBrowserPostVideo.Document.GetElementById("hh").SetAttribute("value",
youtubeVideos[SelectedVideo].PostingDateTime.Substring(11,2));
//Post Minutes
if (webBrowserPostVideo.Document.GetElementById("mn") != null && youtubeVideos[SelectedVideo].PostingDateTime.Substring(14, 2) != null)
webBrowserPostVideo.Document.GetElementById("mn").SetAttribute("value",
youtubeVideos[SelectedVideo].PostingDateTime.Substring(14, 2));
//Enter Video Title
if (webBrowserPostVideo.Document.GetElementById("title") != null)
webBrowserPostVideo.Document.GetElementById("title").SetAttribute("value", youtubeVideos[SelectedVideo].VideoTitle);
if (webBrowserPostVideo.Document.GetElementById("publish") != null)
{
Thread.Sleep(2000);
webBrowserPostVideo.Document.GetElementById("publish").InvokeMember("click");
webBrowserPostVideo.Document.GetElementById("publish").InvokeMember("click");
Thread.Sleep(2000);
SelectedVideo++;
webBrowserPostVideo.Document.GetElementById("publish").InvokeMember("click");
}