Trovare indirizzo web della pagina corrente del browser attivo

di il
25 risposte

25 Risposte - Pagina 2

  • Re: Trovare indirizzo web della pagina corrente del browser attivo

    Certo, è il link delle mail di TIM: https://mail.tim.it

    Come detto, ora come ora mi sono tolto la soddisfazione di riuscirci in maniera artigianale… adesso proverò con Selenium.

  • Re: Trovare indirizzo web della pagina corrente del browser attivo

    17/12/2022 - phil2000 ha scritto:


    16/12/2022 - SirJo ha scritto:

    Ma sei riuscito a fargli fare il login ?

    Si, ma NON con CefSharp... ma in modo alquanto artigianale catturando le immagini di Chrome, cercando con sub-immagini dove premere nei campi di testo e nei pulsanti, scrivendo con SendKeys.Send e premendo poi con la API SendMessage .

    Funziona, ma visto che è per divertissement volevo arrivare qualcosa di meno artigianale. Più che CefSharp mi pare più adatto allo scopo Selenium suggerito da Toki… col solito problema che non c' è documentazione se non per Einstein e Pico della Mirandola.

    Installarlo è facile con la Gestione Pachetti Nuget ma, per dire , ma non ho ancora capito se è un controllo custom o cosa, né come arrivare ad inserire il controllo nel form, sempre che sia un controllo e se non lo è… dove visualizzo le pagine del sito?

    Per installare i driver leggo, fatte le dovute importazioni: 

    2. Use the SetUpDriver() which requires a config class:       


    new DriverManager().SetUpDriver(new ChromeConfig());
    var driver = new ChromeDriver();

    è C#, ma non avrei problemi a convertire in VB.NET se in C#:

    new DriverManager().SetUpDriver(new ChromeConfig()); 

    campato in aria senza dichiarazioni avesse un senso e se scrivo, tanto per vedere cosa succede:

    dim Pippo as  new DriverManager().SetUpDriver(new ChromeConfig())

    mi dice cheE' prevista la fine dell' istruzione”.

    E siamo solo all' inizio dell' inizio. ;)

    Guarda qui: https://github.com/SeleniumHQ/seleniumhq.github.io/blob/trunk/examples/dotnet/SeleniumDocs/GettingStarted/FirstScriptTest.cs#L15

  • Re: Trovare indirizzo web della pagina corrente del browser attivo

    Dato una rapida occhiata notturna. La cosa “SEMBRA” facile, con delle difficoltà iniziali che cercherò di capire.

    Grazie delle dritte.

  • Re: Trovare indirizzo web della pagina corrente del browser attivo

    Sei riuscito a fare qualcosa con Selenium ??

  • Re: Trovare indirizzo web della pagina corrente del browser attivo

    Io per velocizzare la creazione del bot, uso prima selenium ide. Registro il flusso di navigazione, esporto il codice generato. Lo adatto e modifico in base alle necessità. 

  • Re: Trovare indirizzo web della pagina corrente del browser attivo

    26/12/2022 - SirJo ha scritto:


    Sei riuscito a fare qualcosa con Selenium ??

    Si, grazie. Direi che è abbastanza facile, almeno per le cose semplici (per selenium) come cliccare ed inserire testo.

  • Re: Trovare indirizzo web della pagina corrente del browser attivo

    Ok, se hai bisogno chiedi pure perchè anche io uso e conosco Selenium (non certo al livello di Toki però)

  • Re: Trovare indirizzo web della pagina corrente del browser attivo

    La gestione meno complessa di Selenium (cliccare pulsanti o inserire testo nelle textbox) è relativamente semplice tramite driver.FindElement  e .Click + .SendKeys come IWebElements.

    La cosa che non mi piace è che quando attivo il webdriver per cliccare ed inserire testi nella pagina web di login… speravo di “rivolgermi” al webdriver e non direttamente ad internet nel senso che fosse chromedriver.exe a provvedere all' invio dei dati in rete.

    Ma se controllo la rete con Monitoraggio Risorse di Windows… una volta attivato il webdriver il programma compare subitamente, insieme a chromedriver.exe, nell' elenco con tanto di invio di dati in rete… cosa che potrebbe impensierire qualcuno che lo usasse, nel senso che oltre ad accedere automaticamente alla pagina web… mi potrei anche inviare bellamente dei suoi dati.

  • Re: Trovare indirizzo web della pagina corrente del browser attivo

    Tornando a bomba ecco il problema… chromestarter.exe è un programma di poche righe per inserire del testo un una textbox e premere un pulsante:

      Dim driver As ChromeDriver
      Dim Options As New ChromeOptions
    
      Options.AddUserProfilePreference("credentials_enable_service", False)
      Options.AddUserProfilePreference("profile.password_manager_enabled", False)
      Options.AddArgument("--window-position=-5000,0")
      Options.AddArgument("start-maximized")
      Options.AddArgument("--ignore-certificate-errors")
      Options.AddExcludedArgument("--enable-automation")
      Options.AddUserProfilePreference("profile.default_content_setting_values.images", 2)
    
      Dim DriverService = ChromeDriverService.CreateDefaultService
      DriverService.HideCommandPromptWindow = True
    
      driver = New ChromeDriver(DriverService, Options)
      driver.Navigate().GoToUrl(MyUrl)
    
    
      'NOTA: anche se commento il codice seguente chromestarter.exe appare ugualmente nell' elenco
      driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10)
    
      Dim TextBox = driver.FindElement(By.Id("caringEmail"))
      TextBox.SendKeys(UserTxt)
    
      Dim submitButton = driver.FindElement(By.ClassName("ta-button"))
      submitButton.Click()

    Quello che non mi spiego è come mai, al lancio del suddetto codice, il programma appare subitamente nella lista dei programmi che accedono al network, insieme a chromedriver.exe (il programma appare anche se commento tutto il codice dopo il driver.Navigate):

    che  appaia chromedriver.exe mi pare ovvio, ma che appaia anche il mio chromestarter.exe un pò meno: visto che chromedriver.exe è nella stessa cartella, che bisogno ha di passare dati tramite network???

    Oltretutto se distribuissi il programma qualcuno potrebbe GIUSTAMENTE pensare che invio dati ANCHE a chi e dove voglio.

    E' possibile forzare chromestarter.exe a passare dati SENZA passare per la rete??

    NOTA BENE: io non voglio che passi dati in rete senza apparire nell' elenco (esempio più classico di un trojan), vorrei che proprio NON PASSASSE per la rete per fornire il codice a chromedriver.exe o a selenium-maneger.exe, sempre che sia possibile, ovviamente.

  • Re: Trovare indirizzo web della pagina corrente del browser attivo

    Quando esegui la riga

    driver = New ChromeDriver(DriverService, Options)

    viene caricato chromedriver.exe, e finquì niente da dire.

    Come comunica chromestarter.exe con chromedriver.exe ??

    Secondo me (ma ovviamente potrei sbagliare) tramite TCP/IP (cioè con un socket), e anche se è in locale è comunque un connessione, per cui è normale che il sistema operativo lo vede come “Attività di rete”

  • Re: Trovare indirizzo web della pagina corrente del browser attivo

    Cioè i processi che appaiono nella lista della scheda “Rete” non sono necessariamente quelli che inviano dati in Internet??? Buono a sapersi (effettivamente quello della Rete è un campo in cui non sono per nulla ferrato)!

    Allego schermata più completa: il fatto che l' “indirizzo” a cui si rivolge chromestarter.exe è quello del mio PC (nome che mi ha dato automaticamente Win10) è la prova provata che non invia dati in rete o per la certezza occorrerebbero altre prove?

Devi accedere o registrarti per scrivere nel forum
25 risposte