WebView2 : come accedere ai documenti?

di il
69 risposte

69 Risposte - Pagina 4

  • Re: WebView2 : come accedere ai documenti?

    Ah grazie ora ho capito!

    nella console mi da il prezzo digitando 

    document.getElementById('corePrice_feature_div').getElementsByTagName('span')[1].innerText 

    ma perche' nel mio programma , se scrivo il codice sotto , Prezzo_Amazon mi risulta Null ?

    non riesco a capire cosa sto sbagliando …

    Url_Amazon = "https://www.amazon.it/Logitech-Driving-Manopola-Cambio-Volanti/dp/B00ZWOUH4S"
    WebView21.Source = New Uri(Url_Amazon)
    Prezzo_Amazon = Await WebView21.ExecuteScriptAsync("document.getElementById('corePrice_feature_div').getElementsByTagName('span')[1].innerText;")
    
  • Re: WebView2 : come accedere ai documenti?

    Ma quando ti ho dato il codice

            isBusy = True
            WV.Source = New Uri("https://www.............com")
    
            Do While isBusy
                Application.DoEvents()
                Threading.Thread.Sleep(100)
            Loop

    ti sei chiesto a cosa serve ??

  • Re: WebView2 : come accedere ai documenti?

    Si ho provato ha inserire il ciclo tra 

     WV.Source = New Uri("https://www.............com") e  Prezzo_Amazon = Await WebView21.ExecuteScriptAsync ecc..

    ma mi da sempre Null

    forse Amazon ha una protezione ?

    Do While isBusy
                Application.DoEvents()
                Threading.Thread.Sleep(100)
            Loop
  • Re: WebView2 : come accedere ai documenti?

    A me funziona

    vedi https://www.sirjo.com/immagine.jpg

    come definisci la variabile Prezzo_Amazon ?

  • Re: WebView2 : come accedere ai documenti?

    É definita in un'altro modulo come :

    Public Prezzo_Amazon As String
  • Re: WebView2 : come accedere ai documenti?

    Come ti ho detto a me funziona perfettamente

    mostra un po' più di codice, non solo a pezzi, così forse posso capire dove sbagli

  • Re: WebView2 : come accedere ai documenti?

    Eccolo:

    
    Imports System.Reflection.Metadata
    Imports System.Security.Policy
    Imports System.Windows.Forms.VisualStyles
    Imports System.Windows.Forms.VisualStyles.VisualStyleElement
    Imports Microsoft.Web.WebView2.Core
    'Imports OfficeOpenXml.FormulaParsing
    Imports System
    Imports System.Xml
    Imports HtmlAgilityPack
    
    
    Public Class Form1
        Dim isBusy As Boolean
        Dim i As Integer
    
    
    
        Private Async Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
    
            Read_Sheet()
            Await WebView21.EnsureCoreWebView2Async()
    
        End Sub
    
        Private Async Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    
            Dim Ricerca As String
            Dim Prova As String
    
    
    
            isBusy = True
    
            Ricerca = "https://www.google.it/search?q=" + SKU
            WebView21.Source = New Uri(Ricerca)
    
            Do While isBusy
                Application.DoEvents()
                Threading.Thread.Sleep(100)
            Loop
    
            Dim Link As String = Await WebView21.ExecuteScriptAsync("document.getElementById('rso').getElementsByTagName('a')[0].getAttribute('href');")
    
            Link = Replace(Link, "'", "")
            Link = Replace(Link, Chr(34), "")
    
            Url_Amazon = Link
    
            WebView21.Source = New Uri(Url_Amazon)
    
            Do While isBusy
                Application.DoEvents()
                Threading.Thread.Sleep(100)
            Loop
    
            Prezzo_Amazon = Await WebView21.ExecuteScriptAsync("document.getElementById('corePrice_feature_div').getElementsByTagName('span')[1].innerText;")
    
            Prova = "A"
    
    
        End Sub
    
        Private Sub WV_NavigationCompleted(sender As Object, e As CoreWebView2NavigationCompletedEventArgs) Handles WebView21.NavigationCompleted
            isBusy = False
        End Sub
  • Re: WebView2 : come accedere ai documenti?

    SKU arriva dal foglio elettronico

    SKU = "B00ZWOUH4S"

  • Re: WebView2 : come accedere ai documenti?

    Ho provato ha disattivare la parte che ricava l'URL e mettendo l'URL come costante

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

    mi funziona 

    devo forse creare due subroutine separate ?

    una per ricavare l'URL e l'altra per estrarre il prezzo ?

  • Re: WebView2 : come accedere ai documenti?

    Oppure deve eseguire 2 volte questa routine ?

     Private Async Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown 
  • Re: WebView2 : come accedere ai documenti?

    Guarda che la soluzione è semplice, ti stai perdendo in un bicchiere d'acqua e non ti sei accorto dell'errore che hai fatto

    ti ripeto la domanda: il codice seguente lo hai capito ?? che cosa fa ??

    isBusy = True
    WV.Source = New Uri("https://www.............com")
    
    Do While isBusy
        Application.DoEvents()
        Threading.Thread.Sleep(100)
    Loop
  • Re: WebView2 : come accedere ai documenti?

    Serve per attendere il caricamento della pagina web o mi sbaglio ?

    quale errore ho fatto ?

  • Re: WebView2 : come accedere ai documenti?

    Ti sei accorto nel tuo codice quale riga manca rispetto al codice che ti ho dato io ?

  • Re: WebView2 : come accedere ai documenti?

    No mi sembra uguale…

    cosa mi sfugge ?

  • Re: WebView2 : come accedere ai documenti?

    Quello che non riesco a capire é come fare a caricare le pagine in sequenza ..

    se carico https://www.google.it/search?q= + B00ZWOUH4S  poi non so come caricare

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

    in pratica il mio programma si ferma quando isbusy diventa false  per la prima volta…

Devi accedere o registrarti per scrivere nel forum
69 risposte