Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .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 (csharp) [Seleccionar]

//Obtienes una colección o lista (no me acuerdo cual exactamente) de HtmlElements dentro del
var elements = WebBrowser1.Document.GetElementById("NODEID").GetElementsByTagName("option");

//Iteras la lista y a la que tiene el valor 12 le agregas el atributo "selected".
var toMod = from n in elements
            where n.InnerText == "12"
            select n;

//normalmente es uno, pero supongamos que encuentras varios y es un multiselect
foreach (var item in toMod)
     item.SetAttribute("selected");



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 (vb) [Seleccionar]
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