Slides de apresentação sobre o uso de .NET Core e Selenium WebDriver na extração de dados de páginas Web. Palestra realizada em meetup promovido pelo grupo Campinas .NET no dia 24/03/2018.
.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020
.NET Core + Selenium: extração de dados de páginas Web - Campinas .NET
1. .NET Core + Selenium
EXTRAÇÃO DE DADOS DE PÁGINAS WEB
2. Renato Groffe
◦ Microsoft Most Valuable Professional (MVP)
◦ Multi-Plataform Technical Audience Contributor (MTAC)
◦ Mais de 15 anos de experiência na área de Tecnologia
◦ Autor Técnico e Palestrante
4. Agenda
◦ Extração de dados da Web: motivações
◦ Selenium WebDriver: uma visão geral
◦ Extração de dados com .NET Core e Selenium: exemplos práticos
5. Extração de dados da Web - Motivações
◦ Nem sempre existem APIs REST (públicas ou
privadas) para atender a uma demanda
específica
◦ Aplicações podem ser construídas para a
extração de dados a partir de páginas Web
8. Selenium – Visão Geral
◦ Testes automatizados de interfaces Web
◦ Recursos para a manipulação de elementos de uma página HTML
◦ Agora também em conformidade com o .NET Standard 2.0
◦ Compatibilidade com browsers como
Firefox, Chrome, Internet Explorer, Edge, Opera
◦ Site: http://www.seleniumhq.org/
10. Selenium e frameworks de testes em .NET
◦ MS Test, Nunit, xUnit.net, SpecFlow, Moq, NSubstitute e Fluent Assertions
são algumas das opções possíveis...
MS Test
11. Selenium e boas práticas
◦ Uso do padrão Page Object, proposto por Martin Fowler
◦ Encapsulamento das chamadas envolvendo a manipulação de elementos
HTML, de forma a simplificar a escrita de testes
◦ Referência:
http://martinfowler.com/bliki/PageObject.html
14. Que tal não abrir múltiplas janelas?
◦Browsers como Mozilla Firefox e Google
Chrome contam agora com o modo
headless
◦Maior velocidade na execução de testes
◦Quem está executando os testes não
precisa aguardar a sua execução e
conclusão
15. E como fica a extração de dados?
◦ Processos de extração podem ser implementados em .NET
Core e empregando Selenium WebDriver
◦ Uso de modo headless
◦ A manipulação de elementos HTML estará completamente
desvinculada da implementação de testes
◦ .NET Standard → compatibilidade com .NET Full e .NET
Core
◦ .NET Core + Selenium WebDriver → o caráter
multiplaforma desta combinação é mais uma vantagem
+