Monitorar página da Web com macro / script

1

Estou me inscrevendo para as aulas da minha universidade; no entanto, as classes foram preenchidas e preciso continuar atualizando para verificar quando / se as classes foram abertas. Eu tenho uma página específica que quero atualizar que tem os detalhes de se as classes em que estou interessado estão abertas / fechadas. Não posso simplesmente usar uma extensão do Chrome, como o Page Monitor, já que, se eu clicar no botão de atualização do navegador, acabo sendo direcionado para a página principal da Universidade (não estou desconectado, simplesmente em uma parte diferente do site do que onde eu preciso verificar as alterações).

Como posso ter um script / macro que:

1) Atualize a página.

2) Navegue até a página que preciso verificar. (Cerca de 3 cliques, um dos cliques é um botão de opção, se isso faz diferença).

3) Verifique as alterações que estou procurando, se houver uma mudança, envie um e-mail ou crie uma notificação na área de trabalho.

4) Repetir após x quantidade de tempo ... ou seja, 5 minutos.

Eu estive pesquisando extensivamente por uma solução, mas parece que nenhuma solução existe ainda. Eu realmente aprecio algumas idéias / soluções. Obrigado!

    
por electroncarl 22.11.2013 / 03:20

2 respostas

0

Eu tenho tentado fazer algo na mesma linha. O melhor que consegui criar é um script VBA que é executado no Excel. Pode abrir a página, logar (se necessário) e simular cliques de botão. O conteúdo da página pode ser verificado quanto a alterações e um email pode ser enviado a você se houver alterações. O único problema é que você tem que ter um computador no qual você pode deixar o Excel aberto

A macro consiste em 3 macros 1) executa macro em aberto 2) ajusta o intervalo de tempo 3) executa script

Sub Auto_Open()
    MacroScheduler
End Sub

Sub MacroScheduler()
    'This macro sets the script to Run every minute
    runontime = Now + TimeValue("00:01:00") 'Change time intervals here
    Application.OnTime runontime, "MacroScheduler"
    OnlineChecker runontime
End Sub

Sub OnlineChecker(ByRef timetorun2)
    Dim NewEntry As Boolean
    NewEntry = False
    Dim ThisDoc As Object
    Set ThisDoc = Workbooks(ThisWorkbook.Name).Worksheets("Sheet1")
    Dim ie As Object
    Set ie = CreateObject("InternetExplorer.Application")
    Dim IEobj As Variant
    Dim doc As Variant


    With ie
        .navigate "[YOUR URL]" 'Insert your URL here
        .Visible = False
    End With

        Do While ie.Busy: DoEvents: Loop
        Do While ie.ReadyState  4: DoEvents: Loop

    Set el = doc.getElementsByTagName("Input") 'this can be changed based on element type
    For Each IEobj In el
            Select Case IEobj.ID
            Case Is = "[Name of Element]" ' Insert name of HTML Element here
                    IEobj.Click
            End Select
    Next

    Do While ie.Busy: DoEvents: Loop
        Do While ie.ReadyState  4: DoEvents: Loop



    If Not ThisDoc.Range("A1") = "" Then
            If ThisDoc.Range("A1") = doc.body.innerText Then
                Exit Sub
            Else
                ThisDoc.Range("A1") = doc.body.innerText
                NewEntry = True
            End If
    Else
        ThisDoc.Range("A1") = doc.body.innerText
    End If

        If NewEntry = True Then
            NewEntry = False
    'This is meant to work with gmail accounts

    Dim iMsg As Object
        Dim iConf As Object
        Dim strbody As String
        Dim Flds As Variant

        Set iMsg = CreateObject("CDO.Message")
        Set iConf = CreateObject("CDO.Configuration")

    iConf.Load -1
    Set Flds = iConf.Fields
        With Flds
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[Insert your email address here]"
            .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "[Insert your password]"
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
            .Update
        End With

        strbody = "Class Posted"


        With iMsg
            Set .Configuration = iConf
            .To = "[Insert your email address]"
            .CC = ""
            .BCC = ""
            .From = "[Insert your email address]"
            .Subject = "Class Posted"
            .TextBody = strbody
            .send
        End With

        End If
        Application.StatusBar = "Done - Next Run @ " & timetorun2
            ie.Quit: Set ie = Nothing

End Sub
    
por 07.12.2013 / 00:23
0

Use a extensão Trimgle Web Monitor para o navegador moderno

Com Trimgle u pode monitorar toda a página web e json como API REST, Você pode enviar as informações coletadas para uma página Webhook automaticamente

    
por 16.09.2017 / 13:55