Ajuda com Webbrowser no Delphi.

08/12/2015

0

Boa tarde,
estou fazendo um projeto com o componente Webbrowser no Delphi, mais como sou novo e só mexi uma vez com esse componente estou apanhando muito.

O site que estou tentando acessar e manipular é esse:
https://sicse.caixa.gov.br/sicse/

É um site da caixa onde se tem vários serviços de para um funcionário de uma empresa.

Tenho algumas dificuldades que vou listar aqui para que talves vocês possam me ajudar.

1º Quando entro no site ele me pede um certificado digital, tem como eu já alimentar a opção de acordo com o numero do certificado que já sei e tenho instalado na maquina?

2º Entrando no site pelo componente, toda hora da um erro de script do java, com as opções sim e não. Tem como sempre que der esse erro eu alimentar com sim ?
Já usei a opção "WebBrowser1.Silent := True;" , que faz parar de aparecer as mensagens, mais não queria restringir o retorno de mensagens pelo site, visto que ele possa me dar alguma mensagem de erro que posso precisar.

3º Entrando no site, a primeira vista tem um combobox que tem as opções que preciso, uso uma função que ja ultilizei em outra ocasião onde mando por paramentroo nome do campo, o evento e o valor. Só que nesse site é alimentado o valor , mais da um erro de scrpit do java quando vai realizar o evento.

Segue o procedimento que eu uso:

procedure 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;

Chamada :
FireEvent(WebBrowser1, 'sltOpcao', 'onchange', '300|ExtratoAnaliticoTrabalhador.Solicitar');


Pois é pessoal é isso, se alguém puder me ajudar a entender e usar esse componente ficarei muito agradecido.
Ate mais.
Adriano

Adriano

Responder

Post mais votado

14/12/2015

Normalmente, os erros de script apresentado pelo Browser é referente a versão do IE emulado.

Você pode acessar o site http://www.whatbrowser.org/ pelo se você quiser verificar a versão que está sendo emulada, se não me engano, ele utiliza a versão 7 do IE.
Tem como alterar esse parâmetro e forçar o emulador pegar uma versão mais recente (desde que instalada na maquina) do IE, se houver interesse, posso postar.

Mateus Carvalho

Mateus Carvalho
Responder

Mais Posts

15/12/2015

Adriano

Entrei no site pelo WebBrowser e deu um erro de script e não deu certo rs.
Eu já consegui resolver meus problemas, mais por favor se puder postar essa dica, pois toda informação é bem vinda.
Responder

16/12/2015

Mateus Carvalho

Para alterar a versão emulada do IE, basta seguir os passos:

1. Abra o regedit, e navegue até o caminho abaixo:

32 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION


64 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION


2. Após isso, de um botão direito > Novo > Valor DWORD (Sua versão)

3. No nome, coloque o nome do executável da sua aplicação, exemplo: minhaaplicacao.exe

4. De um duplo clique na chave criada, e coloque os valores que irão satisfazer suas necessidades:

Decimal (Hexadecimal)

11001 (0x2EDF)
Internet Explorer 11. As páginas web são exibidas no modo de IE11 Standards, independentemente da diretiva! DOCTYPE .

11000 (0x2AF8)
Internet Explorer 11. As páginas Web que contenham padrões baseados em diretrizes! DOCTYPE são exibidos no modo IE9.

10001 (0x2AF7)
Internet Explorer 10. As páginas web são exibidas no modo de IE10 Standards, independentemente da diretiva! DOCTYPE .


10000 (0x2710)
Internet Explorer 10. As páginas Web que contenham padrões baseados em diretrizes! DOCTYPE são exibidos no modo IE9.

9999 (0x270F)
Internet Explorer 9. As páginas web são exibidas no modo IE9 Standards, independentemente da diretiva! DOCTYPE .

9000 (0x2328)
Internet Explorer 9. As páginas Web que contenham padrões baseados em diretrizes! DOCTYPE são exibidos no modo IE9.

8888 (0x22B8)
As páginas web são exibidas no modo IE8 Standards, independentemente da diretiva! DOCTYPE .

8000 (0x1F40)
As páginas Web que contenham padrões baseados em diretrizes! DOCTYPE são exibidos no modo IE8.

7000 (0x1B58)
As páginas Web que contenham padrões baseados em diretrizes! DOCTYPE são exibidos no modo IE7 Standards.

5. Clique em OK.


Pronto, após isso, basta reiniciar sua aplicação.

Para facilitar, existe instaladores que realizam esse procedimento automaticamente.



Att!
Responder

16/12/2015

Adriano

Para alterar a versão emulada do IE, basta seguir os passos:

1. Abra o regedit, e navegue até o caminho abaixo:

32 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION


64 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION


2. Após isso, de um botão direito > Novo > Valor DWORD (Sua versão)

3. No nome, coloque o nome do executável da sua aplicação, exemplo: minhaaplicacao.exe

4. De um duplo clique na chave criada, e coloque os valores que irão satisfazer suas necessidades:

Decimal (Hexadecimal)

11001 (0x2EDF)
Internet Explorer 11. As páginas web são exibidas no modo de IE11 Standards, independentemente da diretiva! DOCTYPE .

11000 (0x2AF8)
Internet Explorer 11. As páginas Web que contenham padrões baseados em diretrizes! DOCTYPE são exibidos no modo IE9.

10001 (0x2AF7)
Internet Explorer 10. As páginas web são exibidas no modo de IE10 Standards, independentemente da diretiva! DOCTYPE .


10000 (0x2710)
Internet Explorer 10. As páginas Web que contenham padrões baseados em diretrizes! DOCTYPE são exibidos no modo IE9.

9999 (0x270F)
Internet Explorer 9. As páginas web são exibidas no modo IE9 Standards, independentemente da diretiva! DOCTYPE .

9000 (0x2328)
Internet Explorer 9. As páginas Web que contenham padrões baseados em diretrizes! DOCTYPE são exibidos no modo IE9.

8888 (0x22B8)
As páginas web são exibidas no modo IE8 Standards, independentemente da diretiva! DOCTYPE .

8000 (0x1F40)
As páginas Web que contenham padrões baseados em diretrizes! DOCTYPE são exibidos no modo IE8.

7000 (0x1B58)
As páginas Web que contenham padrões baseados em diretrizes! DOCTYPE são exibidos no modo IE7 Standards.

5. Clique em OK.


Pronto, após isso, basta reiniciar sua aplicação.

Para facilitar, existe instaladores que realizam esse procedimento automaticamente.



Att!


Valeu!! Muito obrigado.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar