Estoy trabajando en una aplicación simple que navega automáticamente en una página que contiene dos menús desplegables y un botón. La página tiene el siguiente aspecto:C# webBrowser.Document: página de recarga después de la devolución de datos
------ ------- DropDown1
------ ------- DropDown2
- ----- --------- botón
Ahora, el problema es que el contenido de DropDown2
se genera de forma dinámica por la selección de Dropdown1
.
escribí código como este en C#:
private void webBrowser1_DocumentCompleted(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
HtmlElement elem = webBrowser1.Document.GetElementById("DropDown1");
elem.SetAttribute("selectedIndex", "1");
elem.RaiseEvent("onChange");
HtmlElement elem = webBrowser1.Document.GetElementById("DropDown2");
elem.SetAttribute("selectedIndex", "5");
elem.RaiseEvent("onChange");
}
Después de levantar el evento onChange
, el navegador carga los nuevos valores, pero no puedo obtener y establecer el valor DropDown2
porque el documento todavía piensa DropDown2
s valores están vacíos
¿Cómo puedo obtener y establecer los nuevos valores que se generan en DropDown2
?
pensé en eso también pero Handler "DocumentCompleted" no se ejecuta después de la devolución. al seleccionar un elemento en dropDown1, solo se activa una función para completar DropDown2. así que Documentcompleted se dispara una vez. También otra nota, cuando pongo un retraso después de cambiar con System.Threading.Thread.Sleep (5000); el hilo solo espera terminar la devolución de datos durante 5 segundos y no funciona ... ¿Alguna otra sugerencia? – dreampowder