DEV Community

loading...
Cover image for Consumindo a dll do Selenium WebDriver | Powershell 7

Consumindo a dll do Selenium WebDriver | Powershell 7

Ewerton Jordão
Microsoft MVP (Azure) | Speaker at .NetSP, DevOps Professionals , Azure Talks, SampaDevs. | Technical Author
・2 min read

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
  • WebDriver
    • webdriver.exe

Código fonte

Resultado

Gif mostrando a execução do código e enfatizando o modo headless no msedge Chromium

Imagem com o resultado dos 3 downloads no file explorer, três arquivos com tamanhos distintos vindos do site do podcast

É 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 ❤.

Referência

Documentação Edge(Chromium)

Documentação Selenium .Net

Exemplos Selenium

Discussion (0)