Miten saa tekstin luettua selaimen sivulta esim. VS2017 ohjelmaan ilman, että ohjelmassa on webview2-kontrollia?
Auttaisiko HttpClient?
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/
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.
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.
Kiitos!
Eiköhän noilla ohjeilla pärjää.
Aihe on jo aika vanha, joten et voi enää vastata siihen.