Ayuda con WebBrowser

Iniciado por UTU, 9 Julio 2006, 22:38 PM

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

UTU

Tengo una duda queno encuentro en mi amado google :(, la duda es agrego un componente WebBrowser y cago una pagina hay alguna forma para que se fije en la pagian si contiene X palabra.
por que quiero que si la pagina dice X palabra me salga un mensaje (no es la palabra en la direccion de la pagina sino en la pagina en si como el "teclas método abreviado (sólo IE y Mozilla): presiona alt+s para mandar formulario/publicar o alt+p para previsualizar" de esta pagina :P).

Prison Break desde Google Earth pone las coordenadas:  41 32 48.24 N 88 04 22.86 W

andoba

Cita de: UTU en  9 Julio 2006, 22:38 PM
Tengo una duda queno encuentro en mi amado google :(, la duda es agrego un componente WebBrowser y cago una pagina hay alguna forma para que se fije en la pagian si contiene X palabra.
por que quiero que si la pagina dice X palabra me salga un mensaje (no es la palabra en la direccion de la pagina sino en la pagina en si como el "teclas método abreviado (sólo IE y Mozilla): presiona alt+s para mandar formulario/publicar o alt+p para previsualizar" de esta pagina :P).

dificil lo veo, porque alt + tecla VB siempre lo toma como un acelerador.
Mu Online Dev

sircid

#2
creo que te refieres a lo siguiente

Una vez que la pagina este cargada utiliza este código para obtener el código de fuente:

Dim variable as String
variable = WebBrowser1.Document.documentElement.outerhtml


Una vez que tengas el código de fuente guardado en la variable, utiliza la función InStr para comparar textos:
n = InStr(1, variable, "palabra", vbTextCompare)
1 es la posición de la que empezará la busqueda.
variable es el primer texto de la comparación.
"palabra" es el segundo texto de la comparación.
vbTextCompare es el método a utilizar en la comparación

Si el valor que te devuelve el programa de n es igual a 0 entonces esque no encuentra la palabra. Si es 1 o mayor que 1 si encontró dicha palabra. El valor de n es la posición en la que se encuentra el texto encontrado (A cada caracter sumale 1 posición).

Espero que estos codes te sirvan de ayuda. Espero tu respuesta tanto como si funciona tanto como si no.

Wdeah

Cita de: sircid en 10 Julio 2006, 04:28 AM
creo que te refieres a lo siguiente

Una vez que la pagina este cargada utiliza este código para obtener el código de fuente:

Dim variable as String
variable = WebBrowser1.Document.documentElement.outerhtml


Una vez que tengas el código de fuente guardado en la variable, utiliza la función InStr para comparar textos:
n = InStr(1, variable, "palabra", vbTextCompare)
1 es la posición de la que empezará la busqueda.
variable es el primer texto de la comparación.
"palabra" es el segundo texto de la comparación.
vbTextCompare es el método a utilizar en la comparación

Si el valor que te devuelve el programa de n es igual a 0 entonces esque no encuentra la palabra. Si es 1 o mayor que 1 si encontró dicha palabra. El valor de n es la posición en la que se encuentra el texto encontrado (A cada caracter sumale 1 posición).

Espero que estos codes te sirvan de ayuda. Espero tu respuesta tanto como si funciona tanto como si no.

Hola, me parecio interesante el tema, ya que estoy intentando hacer una aplicacion, que en si sea un navegador para una cierta pagina, pero lo que quiero hacer es eliminar contenido..
hay alguna manera de modificar el contenido que muestra el WebBrowser ??
por ejemplo: quiero que en una determinada pagina reemplaze una palabra por otra..
como podria hacerlo?
saludos

soru13

miren, yo ya tengo una pagina, es un codigo fuente, que lo que hace que te viene ya echo el formulario para enviar post a un foro, lo que me hace falta es que cada 5 segundos haga la funcion de alt+s en el navegador, hace esto 2 veces y luego vuelve a la pagina anterior,como lo podria hacer?

sircid

#5
Cita de: Wdeah en 10 Julio 2006, 12:03 PM
Hola, me parecio interesante el tema, ya que estoy intentando hacer una aplicacion, que en si sea un navegador para una cierta pagina, pero lo que quiero hacer es eliminar contenido..
hay alguna manera de modificar el contenido que muestra el WebBrowser ??
por ejemplo: quiero que en una determinada pagina reemplaze una palabra por otra..
como podria hacerlo?
saludos

si se puede hacer, aunque sea un poco lioso.

Paso 1:
Obtener el código html y guardarlo en una variable:
Dim variable, filename As String'esto se declarará en general

variable = WebBrowser1.Document.documentElement.outerhtml


Paso 2:
Buscar la palabra que deseas reemplazar más adelante por otra y, si se encuentra dicha palabra, reemplazarla:

    Dim variable2 As String
    Dim n As Integer

variable2 = 'palabra que quieres reemplazar por otra

n = InStr(1, variable, variable2, vbTextCompare)

If n >= 1 then 'si se encuentra la palabra que quieres reemplazar por otra
    Dim start As Integer
    Dim remplazo As String

    start = 1
    n = 1
    Text1.Text = variable 'enseñamos la variable (la que contiene el código html) en un Textbox para poder hacer los retoques.
    While n <> 0 'mientras que la palabra que quieres reemplazar
          n = InStr(start, Text1.Text, variable, vbTextCompare)
          start = n + 1
          If n <> 0 Then
                Text1.SelStart = n - 1
                Text1.SelLength = Len(variable)
                Text1.SelText = variable2
          End If
    Wend


Paso 3: Cuando el bucle acabe, es decir, n = 0 ( ya se han reemplazado todas las palabras existentes ) guardaremos el Text1.Text en el archivo C:/pagina.html. Más tarde mandaremos al Webbrowser que cargue C:/pagina.html. Para este paso necesitas añadir un componente: Proyecto>Componentes> Microsoft Common Dialog Control 6.0 . Mas tarde añade un CommonDialog al proyecto.


CommonDialog1.filename = "C:/pagina.html"
Open CommonDialog1.filename For Output As #1
        Print #1, Text1.Text
        Close #1


Paso 4: Ya tenemos el html generado con la palabra reemplazada por otra deseada. Sólo queda que el Webbrowser abra nuestra página creada.


Webbrowser1.Navigate "C:/pagina.html"


Y... Listo

Estos códigos los escribi sin utilizar Visual Basic. Postea algún error que pueda haber en ellos. Espero que estos codes te sirvan.

Cita de: soru13miren, yo ya tengo una pagina, es un codigo fuente, que lo que hace que te viene ya echo el formulario para enviar post a un foro, lo que me hace falta es que cada 5 segundos haga la funcion de alt+s en el navegador, hace esto 2 veces y luego vuelve a la pagina anterior,como lo podria hacer?

Cual es la función alt+s, es decir, cuando pulsas estas teclas, ¿que es lo que hace el Internet Explorer?


NYlOn

Por que no intentas en vez de enviar una combinacion de teclsa clickear directamente el submit o lo que sea que haga alt + s. Porque me imagino yo, que si uso Opera podria acceder igualmente a la pagina, aunque no sea con atajo de las teclas. Es mas, si es un boton seria mas facil:

WebBrowser1.Document.Forms(0).NOMBREBOTON.click


Saludos.-

UTU

Muchas gracias Funciona Impecable :) :)

Prison Break desde Google Earth pone las coordenadas:  41 32 48.24 N 88 04 22.86 W