Tempos limite de waitForSelector no Puppeteer após adicionar um proxy
Inspecione a resposta de navegação e o documento entregue antes de tratar uma espera de elemento como falha de conexão do proxy.
Um tempo limite em waitForSelector significa que o elemento esperado não satisfez sua condição de espera. Adicionar um proxy antes de ele aparecer não prova que a conexão TCP do proxy expirou.
- Guarde as evidências de navegação. Registre a URL final, o status da resposta principal e as solicitações com falha relevantes antes da espera do seletor. No Puppeteer, uma resposta de erro HTTP não é necessariamente lançada como exceção de navegação.
- Inspecione o documento entregue. O título ou uma captura de tela cuidadosamente ocultada pode revelar um desafio de login, uma página de acesso negado ou uma página regional diferente. A página pretendida também pode ter tido solicitações do aplicativo com falha; verifique o seletor e o frame também.
- Trate qualquer desafio na sua origem. Configure a autenticação de proxy suportada antes da navegação para um desafio do proxy. Um desafio de destino pertence ao fluxo de trabalho autorizado do aplicativo, com suas próprias credenciais.
Isso frequentemente revela evidências úteis que já existiam antes de a espera do elemento se tornar a primeira exceção relatada pelo seu código. Fornecer a senha de um site ao proxy não pode corrigir esse documento anterior.
Escolha o temporizador depois de identificar a operação com falha. Navegação, configuração de rede e esperas de elementos têm limites diferentes. Uma interface realmente lenta pode justificar uma espera de seletor mais longa; uma página de erro continuará sendo o documento errado.
Mantenha a sessão do navegador e a rota estáveis durante a comparação. Alterar o proxy, o seletor e todo o estado do navegador em uma única tentativa esconde qual condição importava.