Полагаю, вы уже решили эту проблему самостоятельно, но если нет, обратитесь к моему вопросу здесь: Управление WebBrowser и GetElement по идентификатору
По сути, если вы что-то делаете с элементом управления WebBrowser (т. Е. Добавляете некоторый элемент в DOM), он будет делать это асинхронно. То есть он делает это в другом потоке, таким образом он избегает блокировки вашего вызывающего потока, когда WebBrowser выполняет свою работу. Проблема в том, что если вы программно что-то изменяете с помощью команды, вам придется ждать, пока эта команда фактически завершит загрузку своих изменений, пока вы не сможете работать с результатом.
Проверьте мой вопрос там для примера кода того, что я делал. Я надеюсь, что кто-то найдет мои предыдущие испытания полезными.