Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Luis Ismael en 16 Febrero 2011, 17:01 pm



Título: Como seleccionar option en WebBrowser
Publicado por: Luis Ismael en 16 Febrero 2011, 17:01 pm
Lo que pasa es que estoy llenando campos automaticamente, pero tengo una opcion que es la siguiente:

    <select name="NODEID" onchange="node_change();" class="textmono">
                              <option value="0" selected="selected">Victor</option>
                              <option value="1">george</option>
                              <option value="2">pcs-com</option>
                              <option value="4">PERSONAL</option>
                              <option value="5">NintendoDS</option>
                              <option value="6">192.168.1.67</option>
                              <option value="8">pcs-com</option>
                              <option value="9">luna-PC</option>
                              <option value="10">pcs-com</option>
                              <option value="11">192.168.1.73</option>
                              <option value="12">victor-HP</option>
                            </select>

el problema es que quiero elegir por un nombre es decir por ejemplo si quier tomar la de victor-HP estaria en value="12"
y lo pudiera seleccionar con este codigo

 WebBrowser1.Document.GetElementById("NODEID").SetAttribute("value", "12");
el problema es que no quiero seleccionar por value sino por nombre, ya que quiero buscar por nombre es decir dever de poner value 12, poner que busque por
victor-HP, o por pcs-com y que ya seleccionado ese nombre eliga el value que se le dio, espero que se me haya entendido un saludo.


Título: Re: Como seleccionar option en WebBrowser
Publicado por: [D4N93R] en 16 Febrero 2011, 23:22 pm
Hola,

Tienes que tomar el tag del opcion correspondiente y ponerle un attribute selected, solo eso. Es decir para que quede así:

<select name="NODEID" onchange="node_change();" class="textmono">
     <option value="10">pcs-com</option>
     <option value="11">192.168.1.73</option>
     <option value="12" selected >victor-HP</option>
</select>

Y eso creo que lo puedes hacer así:

Código
  1. //Obtienes una colección o lista (no me acuerdo cual exactamente) de HtmlElements dentro del
  2. var elements = WebBrowser1.Document.GetElementById("NODEID").GetElementsByTagName("option");
  3.  
  4. //Iteras la lista y a la que tiene el valor 12 le agregas el atributo "selected".
  5. var toMod = from n in elements
  6.            where n.InnerText == "12"
  7.            select n;
  8.  
  9. //normalmente es uno, pero supongamos que encuentras varios y es un multiselect
  10. foreach (var item in toMod)
  11.     item.SetAttribute("selected");
  12.  
  13.  

Espero compile, que no tengo VS acá hoy :P

Un saludo.


Título: Re: Como seleccionar option en WebBrowser
Publicado por: seba123neo en 17 Febrero 2011, 03:19 am
Hola, proba esto:

Código
  1. WebBrowser1.Document.GetElementById("NODEID").SetAttribute("value", "4")

ahi seleccionaria la opcion "PERSONAL".

saludos.


Título: Re: Como seleccionar option en WebBrowser
Publicado por: Luis Ismael en 17 Febrero 2011, 03:31 am
El problema que ese codigo html no lo puedo modificar de hecho la aplicacion que ando haciendo es para abrir puertos automaticamente de 2WIRE y ahora mi problema es que quiero asignarle el puerto que abri a una pc automaticamente y ahi me atore xD