Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bianchine

Problemas Com WebBrowser - Dialog. C#

Recommended Posts

Bom pessoal, estou a 3 dias tentando resolver este problema;

 

Seguinte, estou me entrando em um sistemas Web com Usuario e senha, porém após entrar no sistema ele me aparece uma janela de erro comum, a Erro 404.

 

Gostaria de saber como faço para ao aparecer a janela de erro (404) meu programa dê um "OK", ou pressione a tecla 'Enter' ou feche esta janela. Pois enquanto a janela não é fechada não consigo realizar nenhuma operação no sistema interno.

 

Espero que me ajudem , Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem meios de pegar elementos das páginas dentro do WebBrowser, usando o próprio document.getElement e ai fazer uma verificação se a página contém o html que você quer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então vamos lá, Entro na pagina de login, o meu programa via WebBrowser insere o usuario e senha. Certo.

2ª Etapa: O Programa insere um numero de registro no input da página, clica em "Consultar"

3ª Ao clicar em "Consultar" ele começa a carregar a página onde contém as informações referente ao numero de registro que foi colocado.

Ao terminar de carregar essa página ele me da um erro em uma janela, o Erro 404. Vou colocar a foto abaixo para facilitar. Quero que meu programa Clique no botão "OK" desta nova janela de erro ou feche essa janela, ou até mesmo pressione a tecla ENTER para o botão "OK" ser acionado. Tanto faz, só preciso fechar essa janela para capturar os dados que contém na página.

 

err.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Puts cara, isso é um alert... Não conheço um modo de fazer um click via programação em um desses...

 

http://stackoverflow.com/questions/563890/is-there-a-way-to-simulate-a-click-on-an-alert-in-javascript

 

Alguns compartilham da minha opinião.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O alert que o seu webbrowser está gerando não depende do site, mas é um controle direto do componente, ou seja, não existe um meio de detectar a janela ou mesmo fechá-la, ou seja, não é possível suprimir este erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendo, eu consigo pegar informações do webbrowser mesmo com o erro (janela de erro 404) ativa, atraves de outro form, como eu faço para fechar e abrir o form com o erro para capturar outra consulta no caso..

 

Entao eu faria assim: São 2 Forms = Form1 com os botoes e campos que pegam as informaçoes, E , Form2 com o webbrowser.

 

Após o form1 pegar as info na html do webbrowser que esta no form2 com o erro 404 ATIVO, após ele pegar as info, Quero que automaticamente ele feche o form2 (webbrowser) e abra novamente começando todo o processo de login etc..

 

Entendeu? +-? hehe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendido!

 

Outra questão que eu acho que deve ser simples para você. hehe desculpe o 'abuso' ...

Quero que entre cada página e cada processo (função) exemplo:

1 etapa - login ,

2 etapa - checa captcha ,

3 etapa - Aguardar pagina, pois após o captcha ele vai para uma pagina e fica 5 segundos nela e redireciona para outra,

4 etapa - segundo login.

 

Entre estas etapas eu preciso de um tempo, não apenas o tempo de carregar a página, mas sim mais tempo, por exemplo no caso da 3 etapa, que ele carrega a pagina 2x, preciso de um tempo de uns 5 segundos entre cada processo.. Como faria isso? com um "Time?"..

 

Obrigado pela ajuda até agora!

 

Att, Rodolfo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você está mudando as páginas através de código então é só usar um thread.sleep entre esses códigos, agora se o próprio navegador altera as páginas automaticamente, então creio que você vá precisar registrar um script em javascript para poder pausar os processos da própria página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então o thread.sleep não porque ele para os eventos de todo o form algo assim, ja testei e não deu certo.

 

Eu não quero pausar os processos da pagina, eu quero que o programa apenas espere a pagina realizar todos estes processos e assim terminado o programa executa suas funções..

 

Entendeu mais ou menos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é executado com JavaScript ou então você vai ter que colocar uma flag para saber se a página acabou ou não de carregar, mas se a página não é sua você não tem acesso aos fontes, o negócio seria você colocar um $(document).ready e marcar uma flag lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.