** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - leer direccion de email en pagina WEB
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoleer direccion de email en pagina WEB

 Responder Responder
Autor
Mensaje
cpampasPT Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 486
Enlace directo a este mensaje Tema: leer direccion de email en pagina WEB
    Enviado: 16/Abril/2019 a las 18:39
Hola a Todos,
Tengo una duda sobre como obtener el email (recrutamento@sgp.pt), contenido en un elemento de una pagina web, en concreto esta :

http://www.net-empregos.com/5870335/ti-sql-e-vbnet/
--------------------------------------
el codigo html correspondiente es este :

<div id="responseDiv" style="background-color:#EBECED;width: 450px;">
<font style="letter-spacing: 0pt" size="3" face="Arial" color="#336699">
&nbsp;&nbsp;&nbsp;
<a href="mailto:recrutamento@sgp.pt?subject=Resposta Anuncio Net-Empregos: TI SQL e VB.net" target="_blank">recrutamento@sgp.pt
<div></div>
<div></div>
</a>
</font></div>

----------------------------
 hasta ahora intente esto , que  pasa a una string todo con excepcion de lo que pretendia que es el email

Dim dataEle As Object, vElemento As String
Set dataEle = Doc.getElementsByTagName("p")  ' tambien intente con el elemento "a"

For Each element In dataEle
      tit = element.innerText  ' tambien intente tit = element.getAttribute("href")
       MsgBox (tit)  
Next
---------------------------------------
Tendra esto que ver con que el elemento "a" donde se encuentra  el email que esta dentro de una DIV (responseDiv)?

Agradezco Vuestra ayuda


Editado por cpampasPT - 16/Abril/2019 a las 19:44
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 10839
Enlace directo a este mensaje Enviado: 16/Abril/2019 a las 19:49
Desde la ignorancia ... Wink

El elemento yo diría que es "ResponseDiv", ... mira a ver que valor tiene el texto asociado a ese elemento ..
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: ROC, NY
Estado: Sin conexión
Puntos: 3324
Enlace directo a este mensaje Enviado: 17/Abril/2019 a las 04:36
Mira a ver esto si te vale

Sub emilio()
    Dim site As String
    Dim search1 As String
    Dim i As Long
    Dim msg As String
    Dim ie As Object
    
    ' Define strings to search
    search1 = "mailto:"
        
    site = "http://www.net-empregos.com/5870335/ti-sql-e-vbnet/"

    Set ie = CreateObject("internetexplorer.application")
    ie.Visible = True
    ie.navigate site
        
    'idle while ie is busy
    Do While ie.Busy
        DoEvents
    Loop
    Application.Wait Now + TimeValue("00:00:04")
    
    msg = ie.document.Body.innerhtml

    i = InStr(msg, search1)
    If i = 0 Then
        MsgBox "Not Found"
    Else
        MsgBox "Found!"
    End If
    ie.Quit
    Set ie = Nothing
    
    DoEvents
    Application.Wait Now + TimeValue("00:00:04")
    Exit Sub
error:
   msgbox "Unknown Error!"
End Sub

Those are my principles, and if you don't like them... well, I have others. Groucho Marx
Arriba
cpampasPT Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 486
Enlace directo a este mensaje Enviado: 17/Abril/2019 a las 13:29
Hola Ibauluz,
Probando tu ejemplo, ya me  voy aproximando, pero me di cuenta de que  solo consigo obtener da direccion de email, si paro el codigo inmediatamente despues de que se abra la pagina, y manualmente hago click sobre el elemento :

<a href="javascript:getMessage(5563247);"> &lt; Mostrar Email</a>

o sea que la direcion de email esta oculta y para mostrarla hay que hacer click en ese elemento, lo que me causa el problema de origen que es el no conseguir "clicar en ese elemento via codigo
Alguna idea ?


Arriba
happy Ver desplegable
Moderador
Moderador


Unido: 29/Enero/2005
Localización: España
Estado: Sin conexión
Puntos: 3030
Enlace directo a este mensaje Enviado: 17/Abril/2019 a las 14:08
Pues entonces, (utilizando el código que te ha proporcionado Ibauluz)después de que se haya cargado la página, tienes que implementar un código que recorra los elementos de enlaces "A" y buscar ese texto "Mostrar Email". Si lo encuentras, haces clic en el elemento. Después, naturalmente, tienes que esperar a que se recargue el document de la página y si todo ha ido bien, deberías encontrar ese email ... de alguna u otra manera. Algo así:

' ... después de se cargue la página, buscas los elementos "A" miras si contienen el texto "Mostrar Email"

    Dim elementosA, x
    
    Set elementosA= ie.Document.Body.getElementsByTagName("A")
    For Each x In elementosA
        If InStr(x.innerText, "Mostrar Email") > 0 Then
            x.Click
        End If
    Next

    ' una vez hayas clicado en esos elementos, y que te asegures de que la página se ha recargado,
    ' vuelves a recargar la variable con el texto HTML del objeto Document
     msg = ie.Document.Body.innerHTML

    ' ... pon aquí el código para recuperar el email

A ver si te ayuda
Saludos,

Juan M. Afan de Ribera
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: ROC, NY
Estado: Sin conexión
Puntos: 3324
Enlace directo a este mensaje Enviado: 17/Abril/2019 a las 17:06
Igual algo así

  ie.document.getElementsByClassName("XXXX")(0).Click

Donde XXX es la clase que tienes y donde hay que pulsar con el ratón para que se abra.

Esto, que envía un click a esa clase, tendría que ir antes de 
 msg = ie.document.Body.innerhtml

(y yo le daría unos segundos para que se cargue la página bien, por si la conexión es lenta)


Un saludo.

Luis


Those are my principles, and if you don't like them... well, I have others. Groucho Marx
Arriba
cpampasPT Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 486
Enlace directo a este mensaje Enviado: 17/Abril/2019 a las 17:23
Hola
Lo que me parecia imposible se me hizo facil con Vuestra ayuda. Todo funciona a la perfeccion
Gracias Luis, Juan y Jesus
Un Saludo Thumbs Up


P.S. Por mi podeis cerrar el hilo


Editado por cpampasPT - 17/Abril/2019 a las 17:24
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable