Usuário com melhor resposta
Pegar valor do href= de um botão em php e colocar no textbox C#

Pergunta
-
Respostas
-
Agora melhorou, com o segundo código que te passei você consegue pegar o href mais vai ter de usar expressao regular para tirar somente o href
WebBrowser browser = new WebBrowser(); //Navega no site browser.Navigate("sua_url"); //Aqui ja pega aquela tag toda do HREF string retorno = browser.Document.GetElementByID("id_do_objeto").innerHtml; //Use regex com Match para retornar somente a url do href //Regex reg = new Regex("<a\s+(?:[^>]*?\s+)?href="([^"]+\?[^"]+)",RegexOptions.IgnoreCase); /*ou pode pegar pelo nome da TAGNAME,onde você deve especificar o indice do elemento [0]*/ MessageBox.Show(browser.Document.GetElementByTagName("href")[0].innerHtml);
Veja aqui como usar o match e regex- Sugerido como Resposta Glauber Marcelino da Silva (MrGmsoft) terça-feira, 30 de dezembro de 2014 11:47
- Marcado como Resposta Eduardo.RomeroModerator sexta-feira, 20 de março de 2015 14:19
Todas as Respostas
-
Existem diversas maneiras veja algumas delas:
//Baixando o html da pagina e depois ler os dados que precisa //Para Baixar usando webClient WebCliente client = new WebClient(); string html = client.DownloadString("sua url); //Salva o arquivo HTML using(StreamWriter sw = new StreamWrite("Site.html")) { sw.write(html); }
Segunda forma que acho mais rápido e pratico usando WebBrowser(deixa ele invisível)
WebBrowser browser = new WebBrowser(); //Navega no site browser.Navigate("sua_url"); /*Aqui eu pego os dados do site pelo ID*/ MessageBox.Show(browser.Document.GetElementByID("id_do_objeto").innerHtml); /*ou pode pegar pelo nome da TAGNAME,onde você deve especificar o indice do elemento [0]*/ MessageBox.Show(browser.Document.GetElementByTagName("href")[0].innerHtml);
Sem o link para testar só posso te mostrar isso
- Sugerido como Resposta Glauber Marcelino da Silva (MrGmsoft) terça-feira, 30 de dezembro de 2014 11:47
-
-
Agora melhorou, com o segundo código que te passei você consegue pegar o href mais vai ter de usar expressao regular para tirar somente o href
WebBrowser browser = new WebBrowser(); //Navega no site browser.Navigate("sua_url"); //Aqui ja pega aquela tag toda do HREF string retorno = browser.Document.GetElementByID("id_do_objeto").innerHtml; //Use regex com Match para retornar somente a url do href //Regex reg = new Regex("<a\s+(?:[^>]*?\s+)?href="([^"]+\?[^"]+)",RegexOptions.IgnoreCase); /*ou pode pegar pelo nome da TAGNAME,onde você deve especificar o indice do elemento [0]*/ MessageBox.Show(browser.Document.GetElementByTagName("href")[0].innerHtml);
Veja aqui como usar o match e regex- Sugerido como Resposta Glauber Marcelino da Silva (MrGmsoft) terça-feira, 30 de dezembro de 2014 11:47
- Marcado como Resposta Eduardo.RomeroModerator sexta-feira, 20 de março de 2015 14:19
-