Dica: Atribuir valores a input do WebBrowser

Posted by Daniel Buona on April 7th, 2009

Pessoal, boa noite!
Na dica de hoje iremos aprender como jogar valores para “inputs” dentro de um WebBrowser.

Imagine a seguinte situação (real): seu cliente solicita que seja efetuada a consulta de um determinado CNPJ no SINTEGRA de São Paulo, para um CNPJ conhecido pelo sistema? A principio você criaria uma novo form com o componente WebBrowser acessando a página solicitada:

WebBrowser.Navigate(’http://pfeserv1.fazenda.sp.gov.br/sintegrapfe/sintegra.html’)

Agora, como atribuir o CNPJ e Insc.Estadual nos devidos campos?
Com esse código você fará isso facilmente.
No evento onDocumentComplete do WebBrowser você implemente:

var
	FormItem: Variant;
	Field: Variant;
	FieldName: String;
	I,J: Integer;
begin
	if WebBrowser.OleObject.Document.all.tags(’FORM’).Length = 0 then
		Exit;

	for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
	begin
		FormItem := WebBrowser.OleObject.Document.forms.Item(I);
		try
			for j := 0 to FormItem.Length - 1 do
			begin
				//Identifica o campo e seu nome no formulário
				Field := FormItem.Item(j);
				FieldName := Field.Name;

				if FieldName = ‘cnpj’ then // nome do input para o campo CNPJ
					Field.Value := edtCNPJ.Text;
				if FieldName = ‘ie’ then // nome do input para o campo Inscr.Estadual
					Field.Value := edtIE.Text;
			end
		except
			ShowMessage(’Não foi possível identificar os campos para atribuir os valores de CNPJ e IE’);
		end;
	end;
end

Uma observação, para a atribuição no campo, você precisará identificar o ID do input na página.

Abraços e até a próxima

jQuery Cheat Sheet

Posted by Rique Costa on April 7th, 2009

Uma coleçao de funcionalidades do jQuery, separadas por segmento, deixe de papel de parede do seu computador :)


Copyright © 2007 AFL Sistemas. All rights reserved.