Manipular pagina com TWebBrowser
Estou tentando manipular a seguinte pagina pelo componente TWebBrowser.
'https://www.fazenda.sp.gov.br/guiasinternet/Gare/Paginas/Gare.aspx'
Essa pagina é alterada a cada interação, por exemplo quando você abre ela , apenas um combobox é exibido,
a partir do preenchimento, o segundo aparece.
O meu problema é simples (eu acho) mais não estou conseguindo resolver.
Eu consigo iniciar a pagina com o combobox preenchido, mais não consigo reproduzir a função de click para que o segundo combobox apareça...
É a primeira vez que trabalho com esse componente e estou apanhando muito.
'https://www.fazenda.sp.gov.br/guiasinternet/Gare/Paginas/Gare.aspx'
Essa pagina é alterada a cada interação, por exemplo quando você abre ela , apenas um combobox é exibido,
a partir do preenchimento, o segundo aparece.
O meu problema é simples (eu acho) mais não estou conseguindo resolver.
Eu consigo iniciar a pagina com o combobox preenchido, mais não consigo reproduzir a função de click para que o segundo combobox apareça...
É a primeira vez que trabalho com esse componente e estou apanhando muito.
Adriano
Curtidas 0
Melhor post
Mateus Ribeiro
29/10/2015
Bom dia! Tenho uma procedure que pode te ajudar... simulei aqui e deu certo!
Uses: MSHTML
Modo de uso:
Boa sorte!
Uses: MSHTML
procedure TForm1.FireEvent(WebBrowser: TWebBrowser; ID, event, value: String);
var
v: OleVariant;
doc3: IHTMLDocument3;
el: IHTMLElement;
begin
if WebBrowser.Document <> nil then
if WebBrowser.Document.QueryInterface(IHTMLDocument3, doc3) = S_OK then
begin
el := doc3.getElementById(ID);
if el <> nil then
begin
(el as IHTMLSelectElement).value := value;
OleVariant(el as IHTMLElement). FireEvent(event, v);
end;
end;
end;
Modo de uso:
FireEvent(WebBrowser1, 'ReceitaTipo', 'onchange', 'GARE DR');
Boa sorte!
GOSTEI 1
Mais Respostas
Adriano
28/10/2015
Funcionou. Muito obrigado.
Só tenho mais uma duvida... como vou saber qual é o ID, event,
value que tenho que passar para a função???
Só tenho mais uma duvida... como vou saber qual é o ID, event,
value que tenho que passar para a função???
GOSTEI 0
Mateus Ribeiro
28/10/2015
No seu caso, o evento é sempre OnChange... parece q os ComboBox do site só se manifestam se esse evento for executado... O ID do campo eu descobri usando o "Inspecionar Elemento" do navegador Chrome.
Mas pra adiantar pra vc, o ID do combo "Código de Receita" é "CodigoReceita"
e o ID do campo "CNPJ ou CPF" é "CnpjCpf". Espero q tenha entendido.
Boa sorte!
Mas pra adiantar pra vc, o ID do combo "Código de Receita" é "CodigoReceita"
e o ID do campo "CNPJ ou CPF" é "CnpjCpf". Espero q tenha entendido.
Boa sorte!
GOSTEI 1
Adriano
28/10/2015
Matheus, esta me ajudando muito. Obrigado.
Mais tenho duas duvidas, como manipular o radio button da pagina ?
E o button vou chamar o evento onClick, mais eu passo algum valor ?
Desculpe a falta de conhecimento... Mais se puder me ajudar ou mandar algum site para que eu possa saber mais como trabalhar com o componente.
Mais tenho duas duvidas, como manipular o radio button da pagina ?
E o button vou chamar o evento onClick, mais eu passo algum valor ?
Desculpe a falta de conhecimento... Mais se puder me ajudar ou mandar algum site para que eu possa saber mais como trabalhar com o componente.
GOSTEI 0
Adriano
28/10/2015
Matheus, esta me ajudando muito. Obrigado.
Mais tenho duas duvidas, como manipular o radio button da pagina ?
E o button vou chamar o evento onClick, mais eu passo algum valor ?
Desculpe a falta de conhecimento... Mais se puder me ajudar ou mandar algum site para que eu possa saber mais como trabalhar com o componente.
Mais tenho duas duvidas, como manipular o radio button da pagina ?
E o button vou chamar o evento onClick, mais eu passo algum valor ?
Desculpe a falta de conhecimento... Mais se puder me ajudar ou mandar algum site para que eu possa saber mais como trabalhar com o componente.
GOSTEI 0
Mateus Ribeiro
28/10/2015
Para efetuar o click no botão é mais simples, vc usa o seguinte:
Agora, para selecionar um item no RadioGroup, vc tem algumas opções de códigos nesse: [url:descricao=Exemplo de leitura e definição de opção no RaioGroup em uma página web em um TWebBrowser]http://www.cryer.co.uk/brian/delphi/twebbrowser/example_form_elements_radio_buttons.htm[/url]
Boa sorte!!
WebBrowser1.OleObject.Document.GetElementByID('btnBuscaDados').Click; // O ID do botão é "btnBuscaDados"Agora, para selecionar um item no RadioGroup, vc tem algumas opções de códigos nesse: [url:descricao=Exemplo de leitura e definição de opção no RaioGroup em uma página web em um TWebBrowser]http://www.cryer.co.uk/brian/delphi/twebbrowser/example_form_elements_radio_buttons.htm[/url]
Boa sorte!!
GOSTEI 0
Adriano
28/10/2015
Cara, muito obrigado! Você me ajudou muito!
GOSTEI 0