Como seleccionar option en WebBrowser

Iniciado por Luis Ismael, 16 Febrero 2011, 17:01 PM

0 Miembros y 1 Visitante están viendo este tema.

Luis Ismael

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.

[D4N93R]

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.

seba123neo

Hola, proba esto:

Código (vb) [Seleccionar]
WebBrowser1.Document.GetElementById("NODEID").SetAttribute("value", "4")

ahi seleccionaria la opcion "PERSONAL".

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Luis Ismael

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