Для работы использую CEFSharp. Многое реализовал и работает успешно. Остался единственный момент, который никак не могу победить, т.к. на локальной машине нет возможно проверить сайт.
Жду полной загрузки страницы, далее выполняю скрипт. Таких страниц может быть 3-10 - каждая в своей вкладке.
Нашел такой метод: private void WebBrowserFrameLoadEnded(object sender, FrameLoadEndEventArgs e), реализовал под себя так:
private void WebBrowserFrameLoadEnded(object sender, FrameLoadEndEventArgs e)
{
if (e.Frame.IsMain)
{
if (AddressBar.Text.Contains("ya")) //проверка на адрес
{
WebBrowser.ExecuteScriptAsync("document.querySelectorAll('#checkbox_panel > span').forEach(function(i){ i.click()})" + ";");
}
}
}
В какой-то момент, а может и сразу программа тупо закрывается, но может и стабильно работать. Как данный код "обвязать" проверкой, что полностью станица загружена, тогда выполнить скрипт? Сайт тяжелый и может долго рендерится, а скрипт выполняет намного раньше, чем подгружена страница и поэтому выкидывает из программы. Может я не в том методе все это делаю?