Como automatizar o Firefox ou Chrome com Excel VBA e selênio

A chave para a automação é fazer as coisas com mais rapidez e facilidade do que você jamais fez antes. Então, qual parte da sua carga de trabalho você gostaria de automatizar? Vamos ver o que podemos fazer!

A chave para a automação é fazer as coisas com mais rapidez e facilidade do que você jamais fez antes.  Então, qual parte da sua carga de trabalho você gostaria de automatizar?  Vamos ver o que podemos fazer!
Propaganda

A chave para a automação é fazer as coisas com mais rapidez e facilidade do que você jamais fez antes. Então, o que você leva muito tempo para fazer? Qual parte da sua carga de trabalho gostaria de automatizar?

Quando se trata de produtividade, o Excel é a ferramenta mais comum usada por pessoas para organizar finanças, gerenciar projetos. 10+ Modelos úteis do Excel para gerenciamento de projetos e rastreamento. 10+ Modelos úteis do Excel para gerenciamento de projetos e modelos de rastreamento. são para chefs profissionais: indispensável. Mostramos como você pode replicar projetos bem-sucedidos usando modelos prontos no Microsoft Excel e além. Leia mais e priorizando metas Use o Excel e o Google Tasks para criar a melhor ferramenta de gerenciamento de metas de todos os tempos Use as Tarefas do Excel e do Google para criar a melhor ferramenta de gerenciamento de metas já Ultimamente, comecei a perceber que estou trabalhando muito, mas alguém me perguntou se eu sinto ou não que estou trabalhando em prol de um propósito maior, eu tenho que dizer que realmente não sei ... Leia Mais. Na semana passada, descrevi como automatizar o IE usando VBA para automatizar sessões do Internet Explorer em uma planilha do Excel usando o VBA para automatizar sessões do Internet Explorer em uma planilha do Excel Sua integração com o Windows permite controlar o Internet Explorer de várias maneiras surpreendentes usando o Visual Basic para Applications (VBA) script de qualquer aplicativo que ofereça suporte a ele, como Word, Outlook ou Excel. Leia mais configurando grupos de URLs em planilhas do Excel e usando o objeto IE no Windows para automatizar o lançamento de grupos de URLs diretamente do Excel.

Na sequência desse artigo, muitos leitores perguntaram como fazer a mesma coisa no Firefox ou no 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, executar o mesmo tipo de ação nesses outros navegadores requer uma etapa extra. Essa etapa é a instalação do Selenium VBA - um wrapper do Windows COM para o Selenium.

Ele permite que você execute chamadas de qualquer aplicativo que suporte o VBA para abrir um navegador - não apenas o IE - e controlar essa sessão do navegador. É uma poderosa ferramenta de automação que é tão usada que muitos fornecedores de navegadores populares estão incorporando o Selenium como parte nativa de seu navegador. Usá-lo em seus aplicativos de automação com certeza será suportado nos próximos anos.

Automatizando o Firefox e Chrome com selênio

Antes de começar este projeto, você precisará baixar e instalar o wrapper Selenium VBA. Então, assim como discuti no artigo sobre como automatizar o IE usando VBA para automatizar sessões do Internet Explorer a partir de uma planilha do Excel usando VBA para automatizar sessões do Internet Explorer de uma planilha do Excel Sua integração com o Windows permite o controle do Internet Explorer de diversas maneiras surpreendentes Visual Basic para aplicativos (VBA) script de qualquer aplicativo que ofereça suporte a isso, como o Word, Outlook ou Excel. Leia mais, para escrever qualquer VBA no Excel, você precisa entrar no modo de design e exibir o código. Se você nunca fez isso antes, basta ir até o item de menu "Desenvolvedor" e clicar em Modo Design. Clique no botão “Inserir”, clique no botão ActiveX e desenhe em sua folha em algum lugar. Depois de fazer isso, clique no botão e, em seguida, clique em "View Code".

selênio1

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

selênio1b

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

selênio2

Agora você está pronto para começar a escrever código de automação de navegador usando o Selenium Wrapper!

Funcionalidade do invólucro selênio

O Selenium VBA Wrapper oferece muito mais funcionalidade do que eu poderei mostrar neste artigo. Você pode ver quanto está disponível além do WebDriver, definindo o objeto Selenium como “Novo SeleniumWrapper”. Quando você digita o período, ele mostra todos os elementos dos tipos de objetos que você pode controlar, como imagens do navegador, arquivos PDF, teclas do teclado e muito mais.

selênio3

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

selênio4

Pode levar algum tempo para aprender tudo o que está disponível, mas o Google pode encontrar alguns bons exemplos, por trás dos exemplos disponíveis na página do Google Code. Infelizmente, até onde eu sei, não há nenhum guia direto por aí para usar o Selenium, mas eu ficaria grato por qualquer leitor que pudesse fornecer qualquer recurso!

Escrevendo seu código de selênio VBA

Neste exemplo, como no artigo do IE, criei uma lista de URLs que desejo abrir no Firefox automaticamente. Em seguida, criei o botão conforme descrito na primeira parte deste artigo.

selênio5

O código por trás do botão é simples, mas vou explicar o que cada seção faz. Primeiramente, 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 Como Novo SeleniumWrapper.WebDriver Dim FF Como Objeto Dim intRowPosition As Integer Dim teclas As New SeleniumWrapper.keys selenium.Start "firefox", "http://www.google.com" selenium.setTimeout ("120000") selenium. setImplicitWait (5000) intRowPosition = 2 selenium.Open Sheet1.Range ("A" & intRowPosition) 

As duas últimas linhas definem a linha dos dados do Excel para ler (linha dois, onde o primeiro URL é armazenado na planilha) e, em seguida, executa o método “selenium.open” para ler o URL dessa planilha e abri-lo. no Firefox.

selênio7

A próxima seção do código incrementa o ponteiro de linha e lê o próximo URL na lista. Se a célula não estiver em branco, ela usará o método SendKeys para iniciar uma nova guia no Firefox, lerá o próximo URL dessa venda e abrirá a URL nessa nova guia.

 intRowPosition = intRowPosition + 1 Enquanto Sheet1.Range ("A" & intRowPosition) vbNullString selenio.SendKeys keys.Control & "t" selenium.Open Sheet1.Range ("A" e intRowPosition) intRowPosition = intRowPosition + 1 Wend Set IE = Nada 

O script percorrerá toda a sua lista até que todos os URLs estejam abertos em suas próprias guias. Aqui está o navegador depois que o loop passou pela segunda vez e abriu o MUO em uma nova aba.

selênio

Se você quiser usar esse código para o Google Chrome, tudo o que você precisa fazer é alterar a linha "selenium.Start" firefox "" para "chrome".

Agora crie seu próprio script

Como eu mencionei acima, a melhor maneira de aprender o poder do Selenium Wrapper é digitar "selenium" no seu código, atingir o período e navegar pela longa lista de propriedades e métodos disponíveis. Por exemplo, você pode usar a propriedade .URL para obter o URL da guia aberta no momento no Firefox ou no Chrome.

selênio

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 mostrará o texto de ajuda que mostra quais parâmetros cada função espera. Isso pode ajudar muito quando se trata de descobrir como usá-lo.

Você usa o VBA para automatizar seu computador? Você já automatizou as sessões do navegador do VBA? Compartilhe suas próprias dicas e experiências com ele na seção de comentários abaixo!

In this article