Visualizzazione dei risultati da 1 a 10 su 13

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    33
    Visto che era semplice e che ho da poco finito di lavorare a un progetto simile, sono stato buono e ti ho scritto tutto il codice, ma sappi che in realtà non si dovrebbe fare, comunque,
    per prima cosa aggiungi un webbrowser al form e modifichi:
    -la proprietà url su "http://it.investing.com/equities/ubi-banca"
    -la proprietà visible su false
    -la proprietà scripterrorssuppressed su true

    poi aggiungi tre label

    poi aggiungi un timer

    poi incolla questo codice in "class form1" (le scritte dopo l'apice(') sono commenti, il programma non li legge):

    codice:
        Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As                WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
            Timer1.Interval = 5000 'imposta l'intervallo di tempo in millisecondi
            Timer1.Start() 'il timer parte
        End Sub
    
    
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            Timer1.Dispose() 'il timer viene stoppato
    
    
            Dim variabile As String = "$(document).attr('title', $('#fl_header_pair_lst').text());"
            Dim eseguibile As String = [String].Format(variabile)
            WebBrowser1.Document.InvokeScript("eval", New String() {eseguibile})
            Label1.Text = WebBrowser1.Document.Title
            'viene eseguito un codice jquery all'interno del browser che cambia il titolo della pagina con il rpimo valore, successivamente si imposta il testo della label 1 = al titolo della pagina
    
    
            Dim variabile1 As String = "$(document).attr('title', $('#fl_header_pair_chg').text());"
            Dim eseguibile1 As String = [String].Format(variabile1)
            WebBrowser1.Document.InvokeScript("eval", New String() {eseguibile1})
            Label2.Text = WebBrowser1.Document.Title
            'qui accae lo stesso
    
    
            Dim variabile2 As String = "$(document).attr('title', $('#fl_header_pair_pch').text());"
            Dim eseguibile2 As String = [String].Format(variabile2)
            WebBrowser1.Document.InvokeScript("eval", New String() {eseguibile2})
            Label3.Text = WebBrowser1.Document.Title
            'qui accade lo stesso
    
    
            webbrowser1.navigate("http://it.investing.com/equities/ubi-banca")
            'la pagina viene ricaricata e la procedura ricomincia 
        End Sub
    ps. se modifichi i nomi dei controlli devi modificare anche il codice
    ci sono sicuramente modi migliori di risolvere il problema ma questo è il primo modo che mi è venuto in mente

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2017
    Messaggi
    5

    Endi, HELP!

    Buon giorno a tutti.
    sono alla prese anch'io con lo stesso quesito ed ho provato ad impostare il tutto come indicato da Endi.
    A tutti gli effetti, per una singola operazione ciclica funziona ma quando si parla di ripeterla per un indirizzo diverso... iniziano i dolori.
    Per quanto abbia cercato di istruirmi in merito al webbrowser non ho trovato modo funzionante di fargli caricare un link diverso (passato da un semplice array).
    Ho quindi provato a forzare e fare una porcheria, inserendo X webbrowser per ogni link ma l'uso di risorse diventa ingestibile portando al crash.
    Vorrei quindi chiedere a Endi o qualche altra anima pia di darmi quanto meno uno spunto per:
    eseguire in successioni su un unico webbrowser una serie di link passati da un array. Il codice usato � tale e quale a quello portato da Endi perch� necessito anch'io della stesso dato da estrarre dalla pagina.
    Grazie mille

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2017
    Messaggi
    5
    Riscrivo in sintesi quanto postato e che è sparito...
    sto usando il codice proposto da Endi ma ho sei problemi apparentemente insormontabili se il link viene variato.
    Specifico... il webbrowser dovrebbe, prima di procedere, completare il caricamento della pagina. Questo non avviene. Nè nell'esempio di Endi nè su ripetizioni cicliche variandone il link da dare in pasto al componente.
    Io mi ritrovo a dover prelevare quel dato (come esposto dall'utente che ha aperto il 3d) da multiple pagine. Non mi interessa che siano in contemporanea... va benissimo anche ciclicamente passando l'index dell'array al webbrowser contenente i vari link.
    Di fatto, però... non ho trovato nessun modo funzionante. Se non utilizzare X webbrowser per X link... cosa che porta ad un consumo di risorse immane e presso porta al crash.
    Idee?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.