WebView2 : come accedere ai documenti?

di il
69 risposte

69 Risposte - Pagina 3

  • Re: WebView2 : come accedere ai documenti?

    Come ti ho detto devi conoscere meglio HTML e JavaScript

    ad esempio, in JavaScript ottieni il link con:
    document.getElementById('rso').getElementsByTagName('a')[0].getAttribute('href');

    Dim Link = Await WebView21.ExecuteScriptAsync("document.getElementById('rso').getElementsByTagName('a')[0].getAttribute('href');").ToString()
  • Re: WebView2 : come accedere ai documenti?

    Con libreria  Agility Pack

    Ho provato a scrivere l'xpath

    Ma non riesco a capire il criterio per raggiungere href =

  • Re: WebView2 : come accedere ai documenti?

    Non uso Xpath perchè preferisco altri sistemi, per cui non saprei dirti

    HTML Agility Pack è molto comoda per l'analisi del codice HTML ma si ferma lì, nel senso che non fa altro, non puoi ad esempio interagire con gli oggetti, simulare il click e altre cose che invece puoi fare con il WebView2 e JavaScript injection

  • Re: WebView2 : come accedere ai documenti?

    In effetti il tuo metodo sembra più comprensibile

    GRAZIE!

  • Re: WebView2 : come accedere ai documenti?

    Ho provato a compilare il tuo comando

    mi dice :


    Errore    BC36930    'Con 'Await' il tipo String deve disporre di un metodo GetAwaiter appropriato.    

    non riesco a capire il motivo…

    Dim Link = Await WebView21.ExecuteScriptAsync("document.getElementById('rso').getElementsByTagName('a')[0].getAttribute('href');").ToString()
  • Re: WebView2 : come accedere ai documenti?

    Come ti dicevo ti mancano le basi della programmazione (non offenderti ma è così)

    La riga te l'ho scritta al volo senza provarla, era solo per darti uno spunto, poi devi capire tu cosa fa la riga a adattarla alle tue esigenze, non possiamo sempre darti la pappa pronta, la soluzione è semplicissima

    Dim Link As String = Await WebView21.ExecuteScriptAsync("document.getElementById('rso').getElementsByTagName('a')[0].getAttribute('href');")
  • Re: WebView2 : come accedere ai documenti?

    Io ho cercato dapertutto GetAwaiter ma proprio non riesco a capire il motivo dell'errore..

    Dim Link As String = Await WebView21.ExecuteScriptAsync("document.getElementById('rso').getElementsByTagName('a')[0].getAttribute('href');")
  • Re: WebView2 : come accedere ai documenti?

    Link é un tipo stringa ed é chiaro che non ha un metodo GetAwaiter 

    oltretutto su Internet non viene spiegato come funziona GetAwaiter  in Visual Basic!

  • Re: WebView2 : come accedere ai documenti?

    Ho capito adesso , hai tolto .ToString ()

    avevo fatto anch'io questa prova ma dato che link mi risultava NULL pensavo che fosse un azione sbagliata…

    forse sto sbagliando lo script ?

  • Re: WebView2 : come accedere ai documenti?

    Ah no, facevo del casino …!

    sono riuscito a estrarre questo benedetto URL!

    GRAZIE ANCORA!

  • Re: WebView2 : come accedere ai documenti?

    Ho questo URL :

    https://www.amazon.it/Logitech-Driving-Manopola-Cambio-Volanti/dp/B00ZWOUH4S

    voglio ricavare il prezzo in alto a destra

    non riesco a trovare le funzioni getElementById  getElementsByTagName  getElementsByClass getAttribute corrette per ricavarlo!!

  • Re: WebView2 : come accedere ai documenti?

    ho provato con 
    
    Prezzo_Amazon = Await WebView21.ExecuteScriptAsync("document.getElementById('corePrice_feature_div').getElementsByTagName('span class[2]');")
    
    ma mi da NULL!
  • Re: WebView2 : come accedere ai documenti?

    getElementsByTagName('span class[2]')

    questa parte è sbagliata

    per fare le prove senza diventare matto utilizza il browser, una volta che hai fatto “ispeziona”, in basso trovi la sezione “console” e lì puoi digitare e provare tutto quello che vuoi, se ad esempio scrivi

    document.getElementById('corePrice_feature_div')

    e dai invio vedrai che lui riesce a ricavarsi l'elemento
    Da lì aggiungi le tue prove fino a ricavarti quello che ti serve, ad esempio:

    document.getElementById('corePrice_feature_div').getElementsByTagName('span')[1].innerText 
  • Re: WebView2 : come accedere ai documenti?

    Non capisco dove devo digitare il codcie nella console !

    nella barra dove c'é di fianco il simbolo dell'occhio ) ?

    di fianco ci sono diverse opzioni…

    document.getElementById('corePrice_feature_div')
  • Re: WebView2 : come accedere ai documenti?

    Usa Chrome e vai alla pagina interessata
    Fai click destro sul prezzo sulla destra e scegli “ispeziona”
    In basso ti si apre una sezione che si chiama DevTools dove vedi il codice HTML della pagina stessa.
    Come vedi nell'immagine allegata c'è il tab “Console”
    Cliccaci sopra e ti apparirà la finestra relativa e il cursore dove scrivi quello che vuoi

    immagine: https://www.sirjo.com/immagine.png

Devi accedere o registrarti per scrivere nel forum
69 risposte