DrissionPage é uma página composta por driver e sessão. É uma ferramenta de integração de operações de automação da Web baseada em python.
Ele usa o modo POM para encapsular métodos comuns de páginas e elementos e vem com um conjunto de sintaxe de posicionamento de elemento simples, intuitiva e elegante, que realiza a alternância perfeita entre navegadores e solicitações, levando em consideração a conveniência da automação do navegador e a alta eficiência de Eficiência e, melhor ainda, seu uso é muito conciso e fácil de usar, com menos código e amigável para iniciantes.
Ao usar solicitações de coleta de dados, ao se deparar com um site no qual deseja fazer login, você precisa analisar pacotes de dados e código-fonte JS, construir solicitações complexas e, muitas vezes, lidar com métodos anti-rastreamento, como códigos de verificação, ofuscação JS e os parâmetros de assinatura são altos. Se os dados forem gerados pelo cálculo JS, o processo de cálculo deverá ser reproduzido, o que resulta em uma experiência ruim e baixa eficiência de desenvolvimento.
Usar um navegador pode contornar essas armadilhas, mas o navegador não é muito eficiente. Portanto, esta biblioteca os combina em um só, alterna os modos correspondentes quando necessário e fornece um método de uso humanizado para melhorar a eficiência do desenvolvimento e da operação.
Além de mesclar os dois, esta biblioteca também encapsula funções comumente usadas em unidades de páginas da web e fornece operações e instruções muito simples. Quando usada para operações automatizadas de páginas da web, reduz a necessidade de considerar detalhes e focar na implementação da função, tornando-a mais. conveniente de usar.
Mantenha tudo simples, tente fornecer métodos de uso simples e diretos e seja mais amigável com os novatos.
O autor pisou em inúmeras armadilhas e resumiu todas as experiências nesta biblioteca. Ele incorporou muitas funções práticas e as funções comumente usadas foram integradas e otimizadas.
característica
1. O código é altamente integrado, com código conciso como primeira busca.
2. O objeto da página pode ser alternado entre o navegador e as solicitações à vontade, e o status de login é mantido.
3. Sintaxe de posicionamento de elemento extremamente simples, mas poderosa, suporta operações em cadeia e o código é extremamente conciso.
4. Os dois modos fornecem APIs consistentes e experiência de uso consistente.
5. Design humanizado, integrando muitas funções práticas, reduzindo significativamente a carga de trabalho de desenvolvimento.
1. Você pode reutilizar o navegador aberto sempre que executar o programa. Por exemplo, defina manualmente a página da web para um determinado estado e, em seguida, use um programa para assumir o controle, ou administre manualmente o login e, em seguida, use o programa para rastrear o conteúdo. Não há necessidade de iniciar o navegador do zero todas as vezes, o que é muito conveniente.
2. Use arquivos ini para salvar configurações comumente usadas e chamá-las automaticamente. Ele também fornece uma API de configuração conveniente para evitar itens de configuração complicados.
3. A sintaxe de posicionamento extremamente concisa suporta o posicionamento de elementos diretamente por texto e a obtenção direta dos elementos irmãos e pais antes e depois.
4. Ferramenta de download poderosa, você pode desfrutar de uma função de download rápida e confiável ao operar o navegador.
5. A ferramenta de download oferece suporte a vários métodos para lidar com conflitos de nomes de arquivos, criar automaticamente caminhos de destino, desconectar e tentar novamente, etc.
6. O URL de acesso possui uma função de nova tentativa automática e o intervalo e o tempo limite podem ser definidos.
7. Ao acessar páginas da web, a codificação pode ser reconhecida automaticamente sem configuração manual.
8. Os parâmetros de link geram automaticamente atributos Host e Referer por padrão.
9. Você pode ocultar ou exibir diretamente a janela de processo do navegador a qualquer momento, sem ficar sem cabeça ou minimizada.
10. Ele pode baixar automaticamente o chromedriver apropriado, eliminando configurações problemáticas.
11. O elemento de pesquisa no modo d possui espera integrada e o tempo de espera global ou o tempo de espera de pesquisa única podem ser definidos arbitrariamente.
12. O elemento click integra o método js click, e o método click pode ser alternado com um parâmetro.
13. Os cliques suportam novas tentativas com falha, que podem ser usadas para garantir cliques bem-sucedidos, determinar se a camada de máscara da página da web desaparece, etc.
14. A entrada de texto pode determinar automaticamente se foi bem-sucedida e tentar novamente para evitar entrada ou compensação inválida em determinadas circunstâncias.
15. O modo d suporta XPath completo, que pode obter diretamente um atributo de um elemento. O Selenium não possui essa função nativamente.
16. Suporta aquisição direta de raiz sombria e opera os elementos abaixo dela como elementos comuns.
17. Suporta acesso direto ao conteúdo dos pseudoelementos posteriores e anteriores.
18. Você pode usar > diretamente abaixo do elemento para obter os elementos filhos diretos do elemento atual usando o seletor css. Este método de escrita não é suportado nativamente.
19. Você pode simplesmente usar lxml para analisar páginas ou elementos em modo d, e a velocidade de rastreamento de dados de páginas complexas é bastante melhorada.
20. Os dados de saída foram transcodificados e processados para composição tipográfica básica para reduzir a duplicação de trabalho.
21. Pode ser facilmente conectado ao Selenium ou solicitar código nativo para facilitar a migração do projeto.
22. Usando o modo POM, ele pode ser usado diretamente para testes e fácil de expandir.
23. A configuração do modo d é compatível com debugger_address e outros parâmetros ao mesmo tempo, mas a configuração nativa não é compatível.
24. Há muitos mais que não estão listados aqui...