Propaganda
A chave da automação é fazer as coisas com mais rapidez e facilidade do que você já fez antes. Então, o que você leva muito tempo para fazer? Que parte da sua carga de trabalho gostaria de automatizar?
No que diz respeito à produtividade, o Excel é a ferramenta mais comum usada pelas pessoas para organizar finanças, gerenciamento de projetose priorizando metas. Na semana passada, descrevi como automatizar o IE configurando grupos de URLs nas planilhas do Excel e usando o objeto IE no Windows para automatizar o lançamento de grupos de URLs diretamente do Excel.
Após esse artigo, muitos leitores perguntaram como fazer a mesma coisa no Firefox ou Chrome. Como nem o Firefox nem o Chrome têm um objeto semelhante incluído no Windows que pode ser usado para automação do VBA, a execução do mesmo tipo de ação nesses outros navegadores requer uma etapa extra. Essa etapa é a instalação do Selenium VBA - um invólucro COM do Windows para Selenium.
Ele permite que você execute chamadas de qualquer aplicativo que suporte VBA para abrir um navegador - não apenas o IE - e controlar a sessão do navegador. É uma poderosa ferramenta de automação usada com tanta frequência que muitos fornecedores populares de navegadores estão incorporando o Selenium como parte nativa do navegador. O uso em seus aplicativos de automação certamente será suportado nos próximos anos.
Automatizando Firefox e Chrome com Selenium
Antes de iniciar este projeto, você precisará baixar e instalar o wrapper Selenium VBA. Então, como discuti no artigo sobre automatizando o IE, para escrever qualquer VBA no Excel, você precisa entrar no modo de design e visualizar o código. Se você nunca fez isso antes, basta acessar o item de menu "Desenvolvedor" e clicar no Modo de design. Clique no botão "Inserir", clique no botão ActiveX e desenhe-o em sua planilha em algum lugar. Depois de fazer isso, clique no botão e, em seguida, clique em "Visualizar código".

Na janela do editor de código, no canto inferior esquerdo, altere "Nome" e "Legenda" para refletir a finalidade do botão. Nesse caso, o botão será abrir a lista de URLs que você listou na planilha. No meu caso, chamei-o de cmdLoadURLs e criei a legenda “Carregar URLs” (é o que aparece no botão).

Em seguida, você precisa ativar o Selenium Wrapper clicando no menu Ferramentas, depois em “References” e depois navegue até a referência chamada “SeleniumWrapper Type Library”. Marque essa caixa de referência e clique em OK.

Agora você está pronto para começar a escrever o código de automação do navegador usando o Selenium Wrapper!
Funcionalidade do invólucro de selênio
O Wrapper VBA do Selenium oferece muito mais funcionalidades do que poderei mostrar neste artigo. Você pode ver quanto está disponível além do WebDriver, definindo o objeto Selenium como "New SeleniumWrapper". Quando você digita o período, ele exibe todos os elementos dos tipos de objetos que você pode controlar, como imagens do navegador, arquivos PDF, teclas do teclado e muito mais.

Este exemplo de código estará usando o WebDriver. Depois de usar o objeto Selenium WebDriver no seu código e digitar o período, ele exibirá uma lista muito longa de métodos e propriedades que você pode usar para automatizar seu navegador.

Pode levar algum tempo para aprender tudo o que está disponível, mas o Google pode encontrar bons exemplos, por trás das amostras disponíveis no Página de código do Google. Infelizmente, até onde eu sei, não existe um guia direto para o uso do Selenium, mas agradeceria a todos os leitores que pudessem fornecer recursos!
Escrevendo seu código VBA Selenium
Neste exemplo, como no artigo do IE, criei uma lista de URLs que desejo abrir automaticamente no Firefox. Em seguida, criei o botão conforme descrito na primeira parte deste artigo.

O código por trás do botão é direto, mas vou explicar o que cada seção faz. Primeiro, você precisa iniciar o aplicativo Firefox. O método "selenium.start" fará isso. Os métodos setTimeout e setImplicitWait não são críticos, mas podem impedir que seu aplicativo seja bloqueado para sempre se o navegador não responder por algum motivo.
Dim selenium As New SeleniumWrapper. WebDriver. Dim FF As Object. Dim intRowPosition como inteiro. Escurecer as teclas Como novo SeleniumWrapper.keys selênio. Iniciar "firefox", " https://www.google.com" selenium.setTimeout ("120000") selenium.setImplicitWait (5000) intRowPosition = 2. selênio. Abra Sheet1.Range ("A" e intRowPosition)
As duas últimas linhas definem a linha dos dados do Excel para ler (linha dois, onde o primeiro URL é armazenado no planilha) e, em seguida, executa o método "selenium.open" para ler o URL dessa planilha e abra-o em Raposa de fogo.

A próxima seção do código incrementa o ponteiro da linha e lê o próximo URL na lista. Se a célula não estiver em branco, ela utilizará o método SendKeys para iniciar uma nova guia no Firefox, ler o próximo URL dessa venda e abrir o URL nessa nova guia.
intRowPosition = intRowPosition + 1 While Sheet1.Range ("A" & intRowPosition) <> vbNullString selênio. Teclas SendKeys. Controle & "t" selênio. Abra Sheet1.Range ("A" e intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = Nada
O script percorrerá sua lista inteira até que todos os URLs sejam abertos em suas próprias guias. Aqui está o navegador após o loop passar pela segunda vez e abrir o MUO em uma nova guia.

Se você deseja usar esse código no Chrome, basta alterar a linha "selênio". Inicie "firefox" "para" chrome ".
Agora crie seu próprio script
Como mencionei acima, a melhor maneira de aprender o poder do invólucro de selênio é digitar "selênio" no seu código, acerte o período e basta navegar na lista muito longa de propriedades disponíveis e métodos. Por exemplo, você pode usar a propriedade .URL para obter o URL da guia atualmente aberta no Firefox ou Chrome.

Como você pode ver, há muito mais coisas que você pode fazer que vão muito além do escopo deste artigo. Mas experimente e divirta-se. Felizmente, a maioria das funções exibirá um texto de ajuda que mostra quais parâmetros cada função espera. Isso pode ajudar bastante quando se trata de descobrir como usá-lo.
Para o seu próximo projeto de script, que tal criando seu próprio aplicativo simples com o VBA Como você pode criar seu próprio aplicativo simples com o VBADeseja saber como criar seu próprio aplicativo VBA para resolver problemas? Use estas dicas para criar seu próprio software VBA. consulte Mais informação ?
Ryan é bacharel em Engenharia Elétrica. Ele trabalhou 13 anos em engenharia de automação, 5 anos em TI e agora é engenheiro de aplicativos. Um ex-editor-chefe do MakeUseOf, ele falou em conferências nacionais sobre visualização de dados e foi destaque na TV e rádio nacional.