Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Teksti selaimen (esim. edge) sivulta ohjelmaan

ristos [09.05.2024 21:35:12]

#

Miten saa tekstin luettua selaimen sivulta esim. VS2017 ohjelmaan ilman, että ohjelmassa on webview2-kontrollia?

Metabolix [10.05.2024 07:23:56]

#

Auttaisiko HttpClient?

mavavilj [10.05.2024 14:56:06]

#

En tunne Edge-selainta, mutta olen mielestäni nähnyt Firefox:n API:ssa funktioita, joilla voi hakea DOM:sta elementtejä.

Käytännössä (mukauta Edge:en) siis voisit esim.:

Etsi sivun DOM:sta haluamasi elementit/sisältö (https://developer.mozilla.org/en-US/docs/Web/API/Document_object_model/Locating_DOM_elements_using_selectors), ja tallenna ne johonkin tiedostoon. Lue tiedosto C#:lla tms.

Voi olla, että et saa tiedostoa generoitua, jos selain on sandboxattu (https://developer.mozilla.org/en-US/docs/Web/API/File_System_API) tai sivun on esim. oltava HTTPS-suojattu. Tällöin voit lähetää data:n myös esimerkiksi HTTP:lla, jos laitat koneelle palvelimen pystyyn, tai WebSocket:lla.

Jos sivu ei ole omasi, niin joudut luultavasti joka tapauksessa tallentamaan sivun "Save as", koska et voi muuten ajaa sille omia skriptejä paitsi selainlaajennoksena, jolla ei välttämättä ole pääsyä DOM:iin.

Luultavasti selainta helpompaa on etsiä joku kirjasto, jolla voi ajaa jotain miniselainta suoraan C#:sta, jolloin haet datan suoraan siellä, etkä normaalilla selaimella. Eli luullakseni https://learn.microsoft.com/en-us/dotnet/api/system.net.webclient?view=net-8.0&redirectedfrom=MSDN.

jlaire [10.05.2024 18:10:59]

#

mavavilj kirjoitti:

Luultavasti selainta helpompaa on etsiä joku kirjasto, jolla voi ajaa jotain miniselainta suoraan C#:sta, jolloin haet datan suoraan siellä, etkä normaalilla selaimella. Eli luullakseni https://learn.microsoft.com/en-us/dotnet/api/system.net.webclient?view=net-8.0&redirectedfrom=MSDN.

Mieluummin se HttpClient, kuten linkkaamallasi sivullakin sanotaan:

lainaus:

Important

We don't recommend that you use the WebClient class for new development. Instead, use the System.Net.Http.HttpClient class.

ristos [12.05.2024 23:41:11]

#

Kiitos!
Eiköhän noilla ohjeilla pärjää.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta