Como utilizar uma dll .Net no PowerShell.
E ai, pessoal, beleza? Trazendo um assunto bem legal que é misturar um framework de automação (PowerShell 7) e uma ferramenta * que utilizaríamos para QA(Quality Assurance) *Selenium WebDriver .
Se por acaso você não sabe o PowerShell foi reescrito em .Net Core, na data que escrevo este texto estamos na versão 3.1 e consequentemente o PowerShell vem evoluindo em conjunto com o .Net, atualmente estamos na versão 7.0(Pwsh), por ser escrito em .Net eu consigo importar as dlls que eu utilizaria em uma aplicação C# no PowerShell, instanciar objetos, interagir com as propriedades e os seu métodos.
Nesta demonstração utilizo o site do DevShow podcast para fazer o webscrap(extrair dados de uma página web) neste caso para pegar a uri para os downloads dos episódios disponíveis. Para você que não conhece, neste podcast falamos de inúmeros assuntos de tecnologia, fica a dica para nos acompanhar 😉 no seu agregador de podcast favorito ou utilizando o código que vou disponibilizar🐱💻🧠 e realizar o download dos episódios que quiser, vamos lá?
- Requisitos
- Download do pacote nuget do Selenium(no nosso caso vou utilizar a versão Alpha05 para utilizar em conjunto do Edge Chromium base, a versão Alpha em especial é para utilizar o modo furtivo a.k.a headless 😂😂😂 ).
- Download WebDriver compatível com a versão do seu navegador.
- Incluir o diretório do WebDriver nas variáveis de ambiente (Você pode incluir o diretório do WebDriver no construtor do EdgeDriver assim como eu faço nessa demonstração, porem você pode tranquilamente incluir o path nas variáveis de ambiente).
Estrutura de pastas
- PastadoScript
- script.ps1
- wishlist.txt
- selenium.webdriver.X.X.X
- lib
- netstandard2.0
- WebDriver.dll
- netstandard2.0
- lib
- WebDriver
- webdriver.exe
Código fonte
Resultado
É isso pessoal, vimos como é simples utilizar uma dll e dar novos poderes a nossa sessão no PWSH, com pouco menos de 50 linhas de código implementamos uma solução pratica em linha de comando 😉, espero que tenham curtido o assunto, forte abraço. E não se esqueça, PWSH7 é vida ❤.
Top comments (0)