Usuário com melhor resposta
Dúvida - WebBrowser C#

Pergunta
-
Olá, estou tentando montar um robô com Windows Forms e preciso que ele pegue html, insira dados nos input da página, etc.
Pra isso pensei em usar o WebBrowser, pois com ele eu não preciso necessariamente ter ele em minha tela sendo exibido para o usuário, porém, a página que eu estou tentando trabalhar não funciona com IE (nenhuma versão), funciona até com o Edge, porém, não sei como alterar o navegador que é aberto quando chamo a método navigate() do webbrowser.
Conseguem me dizer o que posso fazer? Ou se tem alguma outra forma melhor de eu trabalhar com páginas web.
Desde já agradeço.
Att
Respostas
-
o WebBrowser não é o mais recomendado para isso. Aconselho a utilização do http://phantomjs.org/
Posso lhe adiantar que é um trabalho que exige bastante empenho, pois não existe muita receita de bolo pra isso que você pretende fazer, mas o PhantomJS é muito mágico e o que você precisa é só um pouco de javascript.
A grande questão é que ele utiliza Javascript e não C# para interagir com a página. Ele vai rodar um Chrome que não será exibido.
Para utilizar com C# você pode usar esta biblioteca:
http://www.nrecosite.com/phantomjs_wrapper_net.aspxPhantomJSDriver + Selenium
http://stackoverflow.com/questions/23840013/setting-screen-size-in-phantomjs-c-sharp-being-driven-by-seleniumou então este exemplo com ProcessStartInfo
http://stackoverflow.com/questions/14048895/running-phantomjs-using-c-sharp-to-grab-snapshot-of-webpage
Esse aqui é só um ponto de partida, pesquisei bastante sobre isso a um tempo atrás e utilizo o PhantomJS até hoje, pois ele é muito bom, mas não existe uma documentação muito vasta e que explica como fazer cada coisa que passa na nossa cabeça.
- Marcado como Resposta Denis Cabral domingo, 6 de março de 2016 23:15
Todas as Respostas
-
o WebBrowser não é o mais recomendado para isso. Aconselho a utilização do http://phantomjs.org/
Posso lhe adiantar que é um trabalho que exige bastante empenho, pois não existe muita receita de bolo pra isso que você pretende fazer, mas o PhantomJS é muito mágico e o que você precisa é só um pouco de javascript.
A grande questão é que ele utiliza Javascript e não C# para interagir com a página. Ele vai rodar um Chrome que não será exibido.
Para utilizar com C# você pode usar esta biblioteca:
http://www.nrecosite.com/phantomjs_wrapper_net.aspxPhantomJSDriver + Selenium
http://stackoverflow.com/questions/23840013/setting-screen-size-in-phantomjs-c-sharp-being-driven-by-seleniumou então este exemplo com ProcessStartInfo
http://stackoverflow.com/questions/14048895/running-phantomjs-using-c-sharp-to-grab-snapshot-of-webpage
Esse aqui é só um ponto de partida, pesquisei bastante sobre isso a um tempo atrás e utilizo o PhantomJS até hoje, pois ele é muito bom, mas não existe uma documentação muito vasta e que explica como fazer cada coisa que passa na nossa cabeça.
- Marcado como Resposta Denis Cabral domingo, 6 de março de 2016 23:15
-
Muito obrigado, já vai ajudar e muito, vou buscar o material que tem disponível e de resto me viro. Vlw
Qualquer coisa eu integro o Web Forms com o PhatomJS, a ideia é recolher dados do WhatsApp e jogar para um gridview e depois o banco de dados, como não tem nada pronto, pelo menos não achei, tentei usar o WebBrowser. Ainda tentei uma API que tem no NuGET, mas não consegui usar.
Minha esposa ta montando um esquema de marmitex, e não quer usar o iFOOD, etc. Então pensei em montar esse robozinho de atendimento pelo Whats pra ela.
Obrigado por tudo :D
-
-
-