Como automatizar o firefox ou o chrome com excel vba e selênio

A chave para a automação é fazer as coisas mais rápido e mais fácil do que você já fez antes. Então, o que leva muito tempo para fazer? Que parte de sua carga de trabalho gostaria de automatizar?

Quando se trata de produtividade, Excel é a ferramenta mais comum usado por pessoas para coisas como organizar as finanças, gerenciamento de projetos, e priorizando metas. Na semana passada, eu descrevi como automatizar IE através da criação de grupos de URLs em folhas de Excel, e, em seguida, usando o objeto IE no Windows para automatizar o lançamento de grupos de URLs diretamente de dentro Excel.10 + modelos do Excel úteis para Gestão de Projetos & Rastreamento10 + modelos do Excel úteis para Gestão de Projetos & RastreamentoOs modelos são para gerentes que facas são para cozinheiros profissionais projetar: indispensável. Nós mostramos-lhe como você pode replicar projetos de sucesso usando modelos prontos em Microsoft Excel e além.consulte Mais informação

Após esse artigo, muitos leitores perguntou como fazer a mesma coisa no Firefox ou Chrome. Uma vez que nem Firefox nem o Chrome tem um objeto semelhante incluído no Windows que pode ser usado para automação VBA, realizando o mesmo tipo de ações sobre os outros navegadores requer uma etapa extra. Esse passo é a instalação de selênio VBA - de uma capa do Windows COM para Selenium.

Ele permite que você realize chamadas de qualquer aplicativo que suporte VBA, a fim de abrir um navegador - não apenas IE - e controlar a sessão do navegador. É uma ferramenta poderosa de automação que é tão comumente usado que muitos fornecedores populares do navegador estão incorporando selênio como uma parte natural de seu browser. Usá-lo em suas aplicações de automação é a certeza de ser apoiada para os próximos anos.

Automatizando Firefox e Chrome com Selenium

Antes de começar com este projeto, você precisa baixar e instalar o wrapper selênio VBA. Então, como eu discutido no artigo sobre automatizar IE, para escrever qualquer VBA no Excel, você precisa entrar em modo de projeto e visualizar o código. Se você nunca fez isso antes, você só precisa ir para o item de menu “Desenvolvedor”, e clique em modo de design. Clique no botão “Inserir”, clique no botão ActiveX e desenhá-la em sua folha em algum lugar. Uma vez feito isso, clique no botão e, em seguida, clique em “View Code”.Usando VBA para automatizar o Internet Explorer Sessões de uma planilha do ExcelUsando VBA para automatizar o Internet Explorer Sessões de uma planilha do ExcelSua integração com o Windows permite o controle do Internet Explorer em um número de maneiras surpreendentes usando o Visual Basic for Applications roteiro (VBA) a partir de qualquer aplicativo que suporte isso, como o Word, Outlook ou Excel.consulte Mais informação

selenium1

Na janela do editor de código, no canto inferior esquerdo, certifique-se de alterar tanto o “Nome” e “Legenda” para refletir o que o botão é para. Neste caso, o botão será para abrir a lista de URLs que você listados na planilha. No meu caso, eu só chamou-cmdLoadURLs, e fez na rubrica “URLs Load” (Isto é o que aparece no botão).

selenium1b

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

selenium2

Agora você está pronto para começar código de automação escrito navegador utilizando o Wrapper selênio!

Funcionalidade do Wrapper Selenium

A VBA Wrapper selênio lhe dá uma funcionalidade muito mais do que eu vou ser capaz de mostrar neste um artigo. Você pode ver o quanto está disponível além de apenas o WebDriver, definindo o objeto selênio como “New SeleniumWrapper”. Quando você digita o período, ele vai cair para baixo de todos os elementos dos tipos de objetos que você pode controlar, como imagens do navegador, arquivos PDF, as teclas do teclado, e muito mais.

selenium3

Este exemplo de código estará usando o WebDriver. Uma vez que você usar o objeto selênio WebDriver em seu código e digite o período, ele vai cair para baixo uma longa lista de métodos e propriedades que você pode usar para automatizar seu navegador.

selenium4



Pode levar algum tempo para aprender tudo o que está disponível, mas o Google pode transformar-se alguns bons exemplos, por trás das amostras disponíveis na página do Google Code. Infelizmente, tanto quanto eu sei, não há nenhuma guia simples lá fora para usar o selênio, mas eu ficaria muito grato de qualquer leitores que poderiam fornecer quaisquer recursos!

Video: Selenium automation using Excel VBA - Selenium-VBA

Escrevendo seu VBA Código Selenium

Neste exemplo, como no artigo IE, eu criei uma lista de URLs que deseja abrir no Firefox automaticamente. Eu, então, criado o botão conforme descrito na primeira parte deste artigo.

selenium5

O código por trás do botão é simples, mas eu vou explicar o que cada seção faz. Primeiro, você precisa iniciar o aplicativo Firefox. O método “selenium.start” vai fazer isso. O setTimeout e métodos setImplicitWait não são críticas, mas pode impedir que seu aplicativo trancar para sempre se o navegador não responder por algum motivo.

Dim selênio As New SeleniumWrapper.WebDriverDim FF Como ObjectDim intRowPosition como chaves IntegerDim como nova SeleniumWrapper.keysselenium.Start "Raposa de fogo", "http://google.com"selenium.setTimeout ("120000") Selenium.setImplicitWait (5000) intRowPosition = 2selenium.Open Sheet1.Range ("UMA" & intRowPosition)

O último par de linhas de definir a linha dos dados do Excel para ler (linha dois, onde o primeiro URL é armazenada na planilha), e em seguida, executa o método “selenium.open” para ler o URL a partir desse planilha, e abri-lo no Firefox.

selenium7

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, em seguida, usa o método SendKeys para lançar uma nova aba no Firefox, lê o próximo URL do que vendem, e abre a URL em que o novo guia.

intRowPosition = intRowPosition + 1Quando Sheet1.Range ("UMA" & intRowPosition) lt; gt; vbNullStringselenium.SendKeys keys.Control & "t"selenium.Open Sheet1.Range ("UMA" & intRowPosition) intRowPosition = intRowPosition + 1WendSet IE = Nada

O script irá percorrer toda a sua lista até que todos os URLs estão abertos em suas próprias guias. Aqui está o navegador após o circuito passou por uma segunda vez e abriu MUO em uma nova aba.

selenium8

Se você quiser usar este código para o Chrome, tudo que você precisa fazer é alterar a linha “selenium.Start‘firefox’” para “chrome” em seu lugar.

Video: Excel VBA Tutorial 45 - How to Open Google Chrome Using VBA

Agora Crie sua própria Script

Como eu mencionei acima, a melhor maneira de aprender o poder do Wrapper O selênio é digitar “selênio” em seu código, bateu o período e basta navegar para baixo da longa lista de propriedades e métodos disponíveis. Por exemplo, você pode usar a propriedade .url para obter o URL da guia atualmente aberto no Firefox ou Chrome.

selenium9

Como você pode ver, há muito mais coisas que você pode fazer que vão muito além do escopo deste artigo. Mas experimentar e se divertir um pouco. Felizmente, a maioria das funções pop-up texto de ajuda que mostra quais os parâmetros de cada função espera. Isso pode ajudar muito quando se trata de descobrir como usá-lo.

Video: Cadastro de Clientes com Excel VBA 13ª Parte

Você usa VBA para automatizar seu computador? Alguma vez você já automatizado sessões do navegador de VBA? Compartilhe suas dicas e experiências com isso na seção de comentários abaixo!


Artigos relacionados