Muitas pessoas não sabem como ganhar dinheiro com o Python e por isso eu trouxe para vocês aqui hoje essa demanda aqui tá que chegou no meu site de orçamentos no caso esse site aqui onde eu recebo orçamentos de bots ou sistemas que as pessoas precisam eu pego essas demandas e mando ela pra minha comunidade de alunos e assim os meus alunos conseguem ganhar dinheiro com isso e eu consigo atender as demandas da comunidade certo para a demanda de hoje esse é um freelancer que eu cobraria entre R 400 A r$ 600 e eu vou te
mostrar literalmente o passo a passo tudo que você tem que fazer para conseguir resolver uma demanda como essa aqui Começando aqui de cara pelo primeiro passo que é entender como que é essa demanda então se você tá pronto para isso digita aqui embaixo vamos automatizar tudo então bora aqui pro primeiro passo que é o seguinte é entender essa demanda aqui se você pegar essa demanda vou dar um zoom aqui para ficar melhor poi solicitado o seguinte Olá preciso criar um método de fazer download de arquivos de um site que usamos para fazer importação de arquivos
em o sistema fiscal funciona da seguinte forma será acessado um site que pedirá login e senha depois deverá acessar uma tabela com várias empresas selecionar cada empresa e fazer o download de um arquivo renomear o nome desse arquivo para a próxima empresa da tabela até finalizar a tabela certo então vamos tentar entender isso aqui quebrar no passo a passo que é às vezes fica um pouco confuso as pessoas acabam e escrevendo de uma forma confusa também né porém se você entender o conceito geral aqui do que ele tá pedindo são alguns pontos tá pessoal primeiro
ele tá fazendo aqui ó preciso criar um método para fazer o download de arquivos de um site que usamos para fazer a importação de arquivos em o sistema fiscal então ele enfim ele colocou aqui que ele quer fazer download de arquivos Esse é o ponto um tá download de arquivos é o ponto um como que será feito isso será acessado um site que pedirá login 100 então isso aqui como se fosse um passo dois depois deverá acessar uma tabela de várias empresas é um passo três selecionar cada tabela cada selecionar cada empresa e fazer o
download de um arquivo então Aqui nós temos o passo quatro certo e aí renomear o nome desse arquivo para próxima empresa da tabela até finalizar a tabela para mim isso aqui não ficou bem explicado é porque se você baixa um arquivo de uma empresa não faz muito sentido você colocar o nome daquele arquivo como o nome da próxima empresa então ele provavelmente não não se expressou bem mas provavelmente o que ele quis dizer aqui é que ele quer baixar um arquivo e colocar no nome daquele arquivo o nome da empresa do qual né foi feito
o download então aqui seria o nosso passo C para facilitar tudo isso aqui e também porque eu não posso mostrar de fato o site real aqui eu criei um site para você vocês tá eu criei um site aqui que simula exatamente isso que é o consulta empresas.net fy.com nesse site aqui ó você pode fazer o login tá que símbolo login que ele pediu então só tem o único usuário cadastrado que é o Jonathan Jonathan e a senha é 1 2 3 4 5 6 7 8 você clicar aqui em entrar ele me permite fazer o
login então eu tô aqui logado deixa eu fechar essa notificação Aqui nós temos uma lista de nome de empresa setor e ação que no caso é baixar o perfil e nós temos aqui no total 20 empresas cadastradas temos duas página certo e aí se eu clicar aqui em baixar perfil Olha o que acontece ele baixa o perfil da empresa só que esse perfil da empresa como você pode ver aqui ó vem com o nome genérico perfil empresa e uma das solicitações aqui é que o nome do arquivo o nome desse arquivo fosse da próxima empresa
da tabela como eu já disse ele provavelmente quis dizer o nome da própria empresa né ele provavelmente confundiu na hora de explicar aqui então o que ele quer que você faça basicamente é por exemplo se eu acabei de baixar o perfil da tecnocor eu venho aqui cont control c para copiar e entro aqui onde foi feito o download desse arquivo tá aqui o arquivo né perfil empresa eu venho aqui e renomeio ele então botão direito então eu venho aqui botão direito renomear coloca ali tecn corp então basicamente Esse é o processo só que você teria
que fazer isso para todas as empresas aqui certo você renomear os arquivos baixar os arquivos e renomear ele para o nome daquela empresa Então como que você pode fazer isso primeiro passo É anotar tudo que você fez de forma manual porque posteriormente você irá transformar isso em código então vamos fazer isso aqui agora que que eu tive que fazer vou pegar aqui o bloco de notas e nós vamos anotar o passo a passo tá Vou colocar aqui lado a lado que assim fica mais didático para vocês se eu voltar na página inicial aqui no login
apagar os dados quando eu entro aqui no site o que que eu tenho que fazer na verdade quais são o tudo que eu tive que fazer aqui de forma manual vamos anotar todos os passos tá então o primeiro passo eu tive que entrar no site certo Você concorda que eu tive que entrar no site Qual que é o site vou pegar aqui o link e já deixar copiado porque eu vou ter que usar isso aqui depois então entrar no site beleza após entrar no site eu preciso de fazer o quê fazer o login certo seria
a a solução óbvia que todo mundo vai pensar Ah eu tenho que fazer o login fazer o login só que dentro desse fazer o login tem alguns passos extras que você não pensa até você ter que fazer automação que aí você entende que todos os pequenos Passos são importantes os basicamente Os Pequenos Passos são importantes Então quais são os pequenos Passos eu tive que o quê digitar meu usuário não eu tive que clicar no campo e depois digitar o usuário então clicar no campo usuário digitar o usuário e pronto acabou não depois tem que fazer
o quê clicar no campo senha e digitar a senha certo então clicar no campo senha e digitar a senha acabei não não acabei Se eu colocar aqui o nome completo né Jonathan e a minha senha eu preciso fazer o quê clicar em entrar então clicar em entrar então passo três aqui ou o próximo passo né dentro do login seria e clicar em entrar beleza Então esse esse é o passo dois Qual que é o passo TR passo TR aqui seria fazer o qu o download de cada um desses arquivos e na medida que eu vou
fazendo o download eu tenho que renomear ele para o nome daquela empresa então então o próximo passo é baixar o PDF de cada empresa e após isso renomear cada um deles para o nome da empresa do qual aquele relatório pertence então esses são os três passos que nós iremos automatizar Só que você tem que entender né que existe ainda um quarto passo que é o qu ir pra próxima página e repetir isso então o quarto passo seria repetir até repetir passo três até baixar todos pdfs Fechou então agora nós vamos pegar esse texto aqui e
transformar ele em código Lembrando que eu vou deixar outros três links aqui na descrição O primeiro é pro material de apoio dessa aula o segundo é pro meu site de orçamentos caso você queira pedir um orçamento também e o terceiro é pro meu treinamento caso você queira ganhar dinheiro com python e automações eu tenho um treinamento completo que te ensina a fazer isso desde Como aprender a programar até entregar soluções completas para os clientes certo o link vai estar aqui na descrição também vamos então continuar aqui eu vou agora Minimizar aqui eu vou abrir aqui
o vs code Lembrando que se você não tem o vs code ou Python instalado Vou deixar um vídeo aqui na descrição onde eu ensino como você pode fazer o download e instalação do vs code super rápido Beleza então tá vou abrir aqui o vest code Já abri vamos clicar aqui em file arqu Open folder ou Abrir pasta vou selecionar aqui a pasta que é projeto relatório empresas clicar em select folder ou selecionar pasta e aqui eu vou criar um arquivo vou clicar nesse iconz aqui ó está app.py para criar o arquivo Python OK posso Minimizar
aqui eu vou agora pegar esses espaços que nós havíamos criados aqui ó vamos agora pegar esses espaços que nós havíamos criado copiei eu vou colar aqui dentro para transformar es sk no comentário basta colocar aqui um aspas simples no começo três vezes e pegar essas as outras três que foram criadas e colocar aqui embaixo beleza e agora para criar esse código de fato Eu preciso da biblioteca chamada Selenium para automatizar sites Então vou apertar cont control J aqui no meu teclado para abrir o terminal e vou rodar o comando PIP install Selenium ou PIP 3
tá se você está no Mac ou Linux eu vou dar um enter aqui vamos aguardar aqui a instalação Ok já fez instalação pode ignorar essas mensagens aqui não faz diferença e agora caso você não tenha feito isso ainda pode clicar aqui para selecionar o interpretador que é basicamente a instalação certo então vou clicar aqui e selecionar em eu vou selecionar aqui Python fechar essa mensagem e agora eu posso fazer aqui um from Selenium Import web driver certo já tem aqui o webdriver agora eu posso fazer a configuração inicialização dele da seguinte forma webdriver pchome e
nós iremos utilizar aqui e o navegador Google Chrome porque ele é um dos mais estáveis lembrando que como eu iria usar o Google Chrome eu preciso ter o Google Chrome instalado no meu computador se você não tem ainda vai lá no site do Google Chrome e faça instalação dele Beleza eu vou guardar isso aqui agora num variável chamada de driver e para acessar um site Basta fazer aqui um driver.get abre fecha parênteses aspas simples e aqui eu posso copiar esse link que eu havia salvo aqui colar aqui dentro e para que meu navegador não feixe
imediatamente depois de acessar o site eu coloco aqui dentro o input abre e fecha parênteses e aqui dentro eu posso escrever algo como aperte enter para fechar Ok vamos testar aqui agora eu vou apertar play levantar minha mão se tudo der certo ele tem que abrir o site vamos verificar aqui opa ele já abriu o site e tá aqui no site de login como você pode ver ele conseguiu abrir o site de login corretamente se você conseguiu fazer até essa parte aqui dita aqui embaixo cheguei no site e já Aproveita e deixa aqui embaixo o
seu like se você tá curtindo esse vídeo e se inscreva no canal para você receber mais vídeos como esse de automação e freelancer Ok consegui entrar no site vou fechar aqui cont control J para fechar o terminal Beleza então já fiz aqui o primeiro passo que entrar no site próximo passo agora eu posso deixar um comentário aqui tá então aqui eu estou entrando no site próximo passo agora é fazer o login então clicar no campo usuário digitar o usuário clicar no campo senha digitar senha e clicar em entrar como que eu posso fazer isso se
você voltar aqui no site Deixa eu voltar aqui na página de login para que você consiga automatizar um site usando Python você pode usar celenium e com celenium você basicamente tem que descobrir onde os elementos Estão onde os campos estão na tela e identificar eles de alguma forma para que você possa interagir com esses campos seja através de digitação ou cliques então se eu quero clicar aqui e digitar no campo usuário eu preciso de identificar esse campo a forma que você faz isso é apertando F2 no teclado isso deve abrir essa janelinha aqui na direita
inclusive deixa inclusive deixa eu sair daqui da da frente e aqui se eu dar um zoom nessa tela posso usar o scroll do mouse tá se usar o scroll do mouse você consegue scroll mais control né scroll mais control no teclado você consegue dar um zoom então eu tô dando aqui um um zoom para vocês clico nessa setinha aqui e depois clico no campo com o qual eu quero interagir clique aqui então nós temos agora aqui um campo que foi selecionado tá com azul aqui ó destacado porque eu consegui selecionar ele e para usar esse
campo eu tenho que montar algo chamado de expert que é basicamente uma forma de identificar um elemento na tela eu vou abrir aqui um novo bloco de notas e explicar para vocês como funciona o xpath o xpath basicamente é quando você é quando você pega aqui o barra barra uma tag abre e fecha parênteses @ atributo igual a valor pronto entendi nada já vou te explicar se você olhar aqui ó se você olhar focar nessa parte aqui só o que que seria esse tag são esses textos aqui que estão com o texto mais escuro um
azul mais escuro no caso no meu caso que eu tô usando um tema escuro se você tiver um tema Claro seria o que tá aqui num numa cor mais escura certo Então essas são as tags div H2 form Label e por aí vai né Depois você tem um atributo que que é o atributo são esses estão esses que estão no azul mais claro então Class e for deixa eu ver se tem mais algum aqui ID certo Type Esses são os atributos e o valor é o que está dentro daquele atributo então por exemplo esse Call
md6 esse card card Body login form username form Label todos esses são o quê são valores certo então aqui você consegue montar basicamente um caminho para chegar até aquele elemento e nesse caso se a gente pegar aqui o nosso exemplo nós queremos o quê esse campo aqui certo e esse campo ele está o quê Ele está aqui dentro dentro de alguma forma então agora só tenho que montar o exper se você pensar aqui ó ele é basicamente composto de o qu a tag input um atributo você tem alguns aqui Type Class ID como que você
escolhe um você tem que escolher aquele que não se repete e normalmente e normalmente no HTML o id não se repete então o ID é uma ótima opção nesse caso Qual que é o valor que tá dentro de ID username então na prática como que ficaria aqui esse xpath Ele ficaria assim ó barra barra o nome da tag é abre fecha cochet @ Qual que é o nome do atributo é ID e qual que é o valor ali dentro username certo como que eu sei se isso aqui tá certo você copia ele vem aqui dentro
clica aqui dentro aperta cont Crol F no teclado ele vai abrir essa barrinha de busca cola aqui dentro e olha para você ver assim que eu colei ele já passou aqui né já destacou para mim confirmando que eu consegui corretamente encontrar esse elemento inclusive vou deixar até um desafio para você eu já encontrei aqui o usuário dá um pause no vídeo aqui agora e tenta fazer agora a mesma coisa para senha tá então seleciona aqui na setinha vai em senha e tenta montar o experto da senha e depois volta aqui para você ver como que
eu resolvi esse desafio E aí tá curtindo esse vídeo dá um trabalho fazer isso aqui mas eu gosto pra caramba e se você quer aproveitar e receber mais vídeos como esse se inscreve aqui no canal e já deixa aqui um comentário dizendo tô curtindo para eu saber que você quer mais vídeos como esse tentou aí então beleza o próximo agora é a senha Então vamos clicar aqui setinha esquerda e ele destacou aqui se você perceber ele é bem parecido tá a única coisa que muda aqui ó a tag é a mesma input o atributo é
o mesmo você pode usar o ID né e o que muda aqui é o valor que é password então venho aqui ó deixa eu anotar já tenho anotado aqui né Deixa eu copiar essa linha colar aqui embaixo e só mudar de username para password então agora se eu copiar isso aqui ó colar aqui dentro vou apagar isso aqui colar o outro ele já encontrou também corretamente o meu campo de senha Então já tá quase pronto eu só preciso agora encontrar o meu botão né de entrar para que eu possa poss clicar nele então Faço o
mesmo processo talvez você até consigo fazer sozinho agora vou clicar aqui no botão entrar Olha ele tem um um tag do tipo Button ele tem algumas alguns atributos tá só que como eu já disse você não pode usar atributo repetido Se eu tentar usar o atributo Type e o valor submit Olha o que que vai acontecer vamos ver se vai dar certo nesse caso Button abre fech colchetes @ Type igual a submit Então nesse caso deu certo Por quê só tem um botão na tela Então nesse caso especificamente funcionaria tá mas se você mas se
você tivesse uma página onde tem vários botões isso aqui talvez não seria a melhor opção a melhor opção provavelmente seria usar a classe como atributo e esse valor aqui ó como valor né do atributo Então até prefiro que você faça isso vamos copiar aqui ó trocar de Type para Class e eu vou dar dois cliques aqui cont control c para copiar colar aqui dentro esse valor e você pode perceber que ele encontra mesmo assim certo então vou copiar isso aqui vou colar aqui embaixo Então agora eu tenho os três exps que eu preciso vou copiar
isso aqui AG agora e já podemos ir pro próximo passo Então o próximo passo é fazer o login Como que eu faço o login automatizando cada um desses processos então eu já tô no site eu vou colocar isso aqui como comentário deixa eu colocar isso aqui como um comentário para ficar fácil pra gente beleza ten aqui os comentários Vamos começar com o usuário para clicar em um elemento você precisa fazer uma nova importação eu venho aqui e faço um from selenium.webdriver.common.by Import byy com b maiúsculo e agora eu posso fazer o seguinte eu venho aqui
e faço um posso fazer aqui um driver P find underline elements e eu vou colocar elements no singular e não no plural tá elements porque eu quero encontrar apenas um único elemento eu venho aqui entre parênteses coloco by com b maiúsculo exp dou Tab para completar e aqui dentro entre aspas duplas eu vou copiar aqui ó esse experto que eu montei recortar colocar aqui dentro e eu tô usando aspas duplas por quê Porque eu preciso ter aspas diferentes dentro e fora então se eu usei aspas duplas aqui eu não posso usar aspas duplas aqui eu
S eu tentar fazer isso que vai acontecer ele vai dar um erro ele tá dando um erro aqui com essa setinha vermelho Então você tem que usar aspas diferentes dentro e fora então eu usei simples aqui dentro que é apenas uma aspa e duplas né aspas duplas aqui do lado de fora Beleza quando eu faço isso ele vai retornar para mim o elemento para que eu possa manipular ele então eu venho aqui e guardo isso num variável que eu vou chamar de Campo usuário beleza como eu já estou com Campo usuário eu posso fazer os
próximos passos que é o quê lembra que eu tenho que encontrar o elemento clicar no elemento e depois digitar dentro daquele elemento então eu faço aqui um campo usuário ponto click vou clicar nele é simples assim basta chamar a função Click e na sequência eu faço um campo usuário P send Keys que me permite estar digitando então entre Chaves então entre parênteses eu coloco aqui o meu usuário que nesse caso é Jonathan e agora para que todo esse processo não aconteça na velocidade da luz eu vou dar umas pausas estratégicas para que o site tenha
tempo de carregar e para que você tenha tempo de encontrar o elemento para depois clicar nele se não você tenta encontrar o elemento e já digitar ele vai quebrar sua automação e para dar essas pausas Existe uma forma mais avançada mas eu não vou entrar nesso aqui agora tá vou fazer vou te mostrar a forma mais simples que é um from time Import sleep esse slip me perente fazer pausas então o que que eu vou fazer logo após ter carregado o site vou dar aqui um zlip de 5 segundos para dar um tempo do site
carregar Beleza o site carregou eu vou tentar encontrar o elemento encontrei o elemento dá uma pausa de 1 segundo só para garantir que eu tive tempo de encontrar para depois fazer alguma ação Beleza vou clicar assim que eu cliquei eu já digito o meu usuário Ok vamos agora fazer a mesma coisa para o campo senha que vai ser muito parecido para encontrar o campo senha eu faço um driver PF Element by xpath coloco aqui entre aspas duplas esse experto que nós já havíamos montado vou colar aqui dentro vou guardar isso aqui na variável que eu
vou chamar de Campo senha que lembre pessoal tô sempre colocando o nome que faça sentido nomes significativos isso me permite estar conseguindo isso me permite entender melhor o meu código Ok já tenho o campo senha eu posso agora clicar nele Campo senha ponto click e finalmente Campo senha pon send keys para passar a minha senha e aqui eu passo a senha que é 1 2 3 4 5 6 7 8 beleza passei a minha senha na sequência Só falta agora clicar no botão entrar certo porque eu já digitei a senha eu já digitei o usuário
já digitei a senha agora preciso clicar no botão entrar então venho aqui e faço algo similar que é o driver PF Element by exp passo aqui dentro o meu xpath e agora eu chamo aqui de Botão entrar Ok e o botão entrar só preciso clicar nele certo então o botão entrar ponto clique e pronto já consegui entrar no site e só vou colocar uma pausa aqui tá de um segundo Também logo após o momento que eu encontro aquele campo de senha e agora Teoricamente Se eu mandar rodar isso aqui ele já deve conseguir entrar no
site e fazer o login certo eu vou dar um play aqui nós vamos verificar se isso aqui vai funcionar cliquei em Play ele já abriu aqui o site deixa eu colocar aqui perto eu vou levantar a mão então agora tem que encontrar o campo de usuário clicar Opa já mandou e já clicou em cim clicou em entrar e já estamos dentro Então pessoal olha aqui já consegui entrar no site se você também conseguiu a digita aqui embaixo tô no site Ótimo então já estamos aqui no site agora podemos ir pro próximo passo qual que é
o próximo passo vamos dar uma conferida aqui vou dar control J para fechar esse terminal aqui em cima eu posso conferir que é o seguinte já fiz o login então eu posso colocar aqui daqui para baixo estou fazendo login então fazer login e agora tenho que fazer o quê baixar o PDF de cada empresa e após isso renomear cada um deles para o nome da empresa do qual aquele relatório pertence então repetir esse passo três até baixar todos os pdfs Então como que eu faço agora para baixar Eh esses pdfs se você pensar de forma
manual seria o quê você clicar clica uma vez clica outra vez clica outra vez cada vez que eu clico aqui ó ele tá baixando você pode ver aqui em cima que ele baixou vários pdfs certo só que agora entra um pouco de lógica você tem que pensar em Como que você vai resolver esse problema existem diversas formas de você resolver tá eu vou explicar a forma que eu cheguei à conclusão que eu cheguei e não foi tipo assim agora tô fazendo tutorial eu cheguei nessa conclusão eu tive que sentar parar pensar eu gastei um tempo
para poder pensar em como que eu resolveria esse problema tá então você tá vendo aqui em um minuto mas eu parei um bom tempo aqui para poder pensar em como que eu vou resolver isso aqui e se você tiver desenvolvendo algo do zero é normal que você precise de um tempo para pensar tá é você esc você gasta mais tempo pensando em como você vai resolver do que de fato escrever no código isso é o normal tá o normal que você gaste mais tempo pensando do que escrevendo o código Então como que eu vou resolver
ess essa situação eu vou explicar para vocês aqui num bloco de notas a forma que eu pensei em resolver é da seguinte maneira que que eu pensei aqui a minha ideia vai ser o seguinte você percebe aqui que toda empresa tem um nome certo e da mesma forma que eu consegui encontrar o elemento para clicar e digitar nele eu consigo encontrar o elemento e extrair informação extrair por exemplo o texto né Desse elemento E assim a minha solução será a seguinte eu vou primeiro extrair tá extrair o nome de cada empresa e guardar isso no
meu caso eu vou guardar isso numa lista tá E aí a cada momento que eu baixar um arquivo eu vou renomear ele para o nome daquela empresa Nossa J é tão simples assim a Teoria é tranquila agora eu vou te mostrar no código Como que você resolveria isso certo então vou copiar essa instrução aqui ó vou abrir meu vs code e vou colar isso aqui embaixo como logo antes do meu input vou colar aqui embaixo como um comentário dois comentários na verdade então beleza Como que eu faço para extrair o nome de cada empresa e
guardar isso num lista Essa parte é relativamente simples tá você tem que fazer o mesmo processo que é encontrar esse elemento tá vamos colocar vamos clicar aqui com F2 no teclado vou pegar essa setinha aqui passar por cima do nome e clicar Se eu olhar aqui ó ele tem o quê a tag TD com o atributo name e o valor nome empresa se eu montar esse experto aqui agora ó cont control F para montar TD atributo name valor nome empresa então barra barra TD atributo name e o valor nome underline empresa se eu fizer isso
olha aqui ele já encontrou né E se eu passar aqui ó posso posso ver que ele encontrou os 10 dessa página vou descer a página os 10 dessa página e se eu passar pra próxima página clicar aqui ó ele continua encontrando então nós já encontramos aqui né os os nomes das empresas Então vou copiar esse xpath vou fazer seguinte driver PF elements porque agora eu quero encontrar vários elementos Então tem que finalizar com s agora dessa vez abre e fecha parênteses by expat e aqui eu colo esse exp que eu acabei de montar e guardo
Isso numa variável que eu vou chamar de nomes empresariais ou nomes empresas para ficar mais fácil então agora tem os nomes de cada empresa dentro dessa lista então a lógica que eu criei aqui é o seguinte eu vou extrair o nome das empresas e Vou extrair também os e vou exir também esses botões aqui de baixar perfil certo porque assim eu consigo ter o nome da empresa e o local onde está o botão de download correspondente a aquele a aquela empresa Então agora eu preciso montar um experto para esse para esse baixar perfil também então
o f12 para abrir aqui eu vou selecionar esse botão baixar perfil e verificar aqui que ele tá dentro de uma tag Button com atributo Class com atributo Class e o valor download Button Então vou montar isso aqui agora cont control F PR montar barra barra barra barra Button abre ficha @ o nome da atributo é deixa eu verificar mais uma vez clicar aquiar aqui atributo é a classe então classe igual a download TR btn Então pronto já encontrei você pode verificar que ele encontrou todos os botões Tá T passando aqui ele tá encontrando todos os
botões vou copiar isso aqui copiei voltamos aqui no vs code e vou guardar isso também então vou chamar ISO aqui de botões download PDF e aqui eu vou chamar o driver PF elements no plural by xpath passando aqui dentro esse xpath ok então já tenho aqui agora os nomes das empresas e os botões de downloads Como que eu posso agora unir essas informações eu tenho que fazer um laço de repetição Só que não é um laço de repetição comum porque eu quero passar tanto pelos nomes quanto pelos botões simultaneamente ou seja se eu tô passando
aqui se eu tô passando aqui na tecnocor eu quero o botão da tecnocor se eu tô aqui na energia verde eu quero o botando da energia verde e para fazer essas e para fazer essa repetição em mais do que um item ao mesmo tempo você pode fazer o seguinte for nome vírgula botão PDF um zip então Zip permite que você faça repetição em mais do que um item ao mesmo tempo e aqui eu passo o nomes empresas e passo o botões download PDF fecha parênteses dois pontos enter e aqui dentro eu vou fazer o seguinte
aqui nós iremos fazer o código para renomear Ren mear o arquivo de qual que é o nome padrão se fse olhar aqui ó se eu entrar aqui e fazer o download o nome padrão é perfil empresa aqui tá com quatro Porque eu já tenho vários arquivos tá se eu apagar os outros aqui Apagar todos eles e baixar novamente olha aqui ó o nome padrão é perfil empresa então eu tenho que fazer o quê eu tenho que nomear o arquivo de perfil empresa.pdf para algo como nome da empresa pon PDF certo então se eu tô entrando
aqui no primeiro primeira empresa seria tecnocor ppdf Então como que eu faço esse processo aqui a gente vai entrar um pouco na manipulação de arquivos e para que isso aqui Fique um pouco mais organizado eu vou além de renomear esses arquivos eu vou criar uma configuração que me permita que eu já baixe esses arquivos em uma pasta bem específica Então vou criar aqui agora uma pasta para guardar esses arquivos vou clicar aqui nessa nesse segundo ícone para poder criar uma uma pasta vou chamar aqui de arquivos vou chamar aqui de relatórios e para que eu
defina aqui o todo o download que é feito nesse navegador vá direto para essa pasta Eu preciso de uma configuração adicional que eu não havia feito anteriormente aqui no nosso Chrome certo como que é essa configuração adicional vou mostrar aqui para vocês agora vamos importar aqui Chrome Selenium P webdrive chromeoptions Import options com o maiúsculo e agora que eu importei esse options eu posso configurar como o meu navegador irá se portar nós podemos modificar algumas configurações mas a que importa pra gente agora é a seguinte vamos criar aqui um Chrome options será nosso arquivo Nossa
variável de configurações do navegador será do tipo options abre e fecha parênteses Então agora que eu tenho esse Chrome options eu posso adicionar algumas configurações as configurações que nós iremos adicionar são as seguintes vamos fazer aqui um Chrome options P add experimental option então nós iremos adicionar uma funcionalidade abre e fecha parênteses vamos passar aqui a palavra chave prfs dentro de aspas simples vírgula abre e fecha Chaves vamos dar um enter aqui dentro e agora eu posso passar algumas configurações para ficar mais fácil eu vou só colar esse código e explicar e vocês podem pausar
aí para copiar certo que que esse código que faz essa linha aqui te permite que você não tenha que ficar aprovando os downloads que é uma coisa que acontece de vez em quando outra questão é essa aqui ó você pode setar um local padrão para armazenar os downloads então eu posso passar aqui dentro ó um local padrão com como que eu pego esse colocar o padrão eu venho aqui clico nessa essa Barrinha lateral botão direito copy path ou copiar path e aqui dentro ó eu posso colocar um R posso colocar um R aspas simples e
colar aqui dentro quando eu faço isso eu estou determinando que eu quero que a partir de agora todos os downloads ah sejam destinados para essa pasta que eu criei então aqui eu fico Então dessa forma eu evito que ele vá para qualquer outro local no meu computador e finalmente eu tenho essa configuração que permite como eu já disse aqui ó não permite não pedir permissão para realizar múltiplos downloads porque nós iremos baixar vários arquivos e a você não quer que a sua automação Pare de funcionar porque ele não permitiu que você fizesse vários downloads certo
então beleza já fiz essas configurações nós podemos agora seguir com a nossa lógica aqui embaixo que é de renomear o arquivo perfil empresa para nome empresa deixa eu só separar isso aqui ok então para renomear o arquivo nós precisamos de uma biblioteca nova vamos aqui em cima eu vou importar ela aqui agora Import os que é a biblioteca que nos permite fazer operações de arquivos no Python certo então deixa eu explicar aqui como que será o passo a passo tá eh que basicamente é isso aqui né Nós vamos agora fazer esse passo dois que é
a cada momento que eu baixar um arquivo eu vou renomear ele para o nome daquela empresa e para fazer isso eu tenho que fazer da seguinte maneira primeiro eu vou iniciar o download certo eu já estou aqui eh com o nome das empresas aqui em cima só que eu não iniciei o download ainda então eu venho aqui e faço o quê eu faço o botão PDF eu estou passando aquele primeiro botão né porque um l são passa em ordem sequencial então primeiro botão depois segundo depois terceiro e assim sucessivamente então bota PDF pon Click quando
eu faço clique o que que vai acontecer o site vai disparar um download né cliquei aqui ó baixar perfil ele dispara um download Então nesse momento ele iniciou um download que que eu vou fazer vou esperar o download finalizar tá como é um arquivo super pequeno você pode colocar um slip bem curto aí tá um slip de aproximadamente 2 A 3 segundos eu vou colocar e 2 segundos porque eu sei que ele baixa instantaneamente aqui no meu computador se você tem uma internet muito lenta ou o lugar onde isso aqui tá rodando ten internet muito
lenta bota 10 segundos bota 5 segundos bota o tempo for necessário para arquivo finalizar o download Tá ok O arquivo já fez o download qual que será o passo a passo aqui tá Então eu aguardo o download finalizar eu pego o nome do arquivo antigo e mudo para nome da empresa ppdf o processo de fazer isso é um pouco longo mas eu vou explicar aqui então basta seguir que eu tô te passando certo nós precisamos de algumas coisas para conseguir fazer isso eu preciso do diretório tá o diretório é basicamente o local onde eu devo
buscar por aquele arquivo nesse caso eu sei que ele estará aqui dentro de relatórios então eu vou clicar aqui com o botão direito e fazer um copy Pat ou copiar caminho vou colocar aqui um R aspas simples colar Beleza já tenho aqui o meu diretório o próximo passo é o nome antigo do arquivo então o nome antigo do arquivo ele será sempre o mesmo que é vamos verificar aqui perfil empresa.pdf aqui ele está com perfil empresa um Porque eu já tenho mais do que um arquivo porém sempre que você baixar um novo arquivo você já
vai renomear ele então você nunca terá essa mudança de nome será sempre perfil empresa ppdf É como se eu tivesse fazendo isso aqui ó se eu del tasse aqui e não tivesse nenhum arquivo quando eu inicio o download pela primeira vez ele vai sempre baixar aqui um perfil underline empresa.pdf então eu vou fazer o seguinte o nome antigo é perfil underline empresa.pdf Qual que é o novo nome então novo nome será igual a um string dinâmico Então vou criar aqui um um uma um nome dinamicamente então F disting dinâmico e aqui eu pego abre fecha
chaves para criar um valor dinâmico e aqui dentro Eu estarei trabalhando com o nome da da daquela empresa E para isso eu posso fazer um nome pon text isso me permite extrair um texto Dentro de um elemento já vou te mostrar isso aqui na prática tá Fica tranquilo então eu já tenho aqui o diretório o nome antigo e o novo nome para renomear um arquivo você precisa ter o caminho completo do arquivo anterior e o caminho completo do do novo arquivo então É como se eu tivesse pegando issso aqui ó É como se eu tivesse
pegando eh isso aqui né esse caminho completo barra perfil empresa.pdf e o novo caminho né que seria na verdade o novo nome do que na verdade seria o caminho completo daquele arquivo com o novo nome que seria mais ou menos isso aqui né ao invés de perfil empresa para a primeira empresa seria eh tecnocor Então seria aqui tecnocor pon PDF Só que não dá para você ficar montando isso aqui na mão toda vez seria um trabalho do caramba então a forma de você automatizar esse processo é o quê Como que você faz isso você vem
aqui eu vou criar aqui uma variável chamada caminho completo antigo eu posso chamar aqui o eu posso usar uma função do Python que é o os.path.get cório vírgula o nome antigo então com isso eu monto aquele caminho completo né então basicamente o que eu fiz aqui ó É como se eu tivesse feito isso aqui ó most para vocês basicamente o que eu fiz aqui ó com essa com essas poucas linhas de código é o que eu tô fazendo aqui de forma manual então para não ter que fazer de forma manual eu faço isso usando o
próprio Python e agora para poder conseguir isso aqui ó eu faço o quê eu faço um Vamos criar aqui uma variável caminho completo novo eu faço os. paath P jooin pegando o diretório e eu pego também aqui o novo nome então com isso aqui eu consigo basicamente fazer essa parte aqui certo então já estamos quase finalizando o próximo passo agora é basicamente só renomear o arquivo então aqui eu estou montando o caminho completo para renomear e agora eu vou de Fato né nós iremos de fato renomear os arquivos para renomear o arquivo eu faço um
os. rename passando aqui O Caminho Antigo caminho completo antigo vírgula caminho completo novo é só isso se eu rodar essa linha eu já consigo renomear então aqui nós já conseguimos resolver uma parte do problema eu vou rodar aqui agora para ver se essa parte tá funcionando e depois nós vamos pro próximo passo opa Só faltou fazer uma coisa aqui pessoal Deixa eu só fazer uma pequena correção eu acabei esquecendo de adicionar né as opções que nós configuramos né como local de download para dentro do nosso navegador Então eu preciso fazer aqui o seguinte aqui dentro
de Chrome eu faço options igual a Chrome options que nós havíamos definido certo ok antes de rodar aqui deixa eu fazer apenas umas pequenas correções eu percebi que esqueci de colocar aqui ponto PDF tá e nós temos o nome do arquivo antigo que é perfil empresa e o nome novo que será o nome da empresa mais.pdf Além disso só para garantir Vamos colocar nos slips aqui tá logo após o momento onde ele faz aqui o login então ele clica aqui eh no botão entrar depois de clicar em botão entrar vamos usar um zlip aqui de
5 segundos para dar tempo pra página carregar feito isso ele chega na página e tenta encontrar ali o nome das empresas após ter encontrado vamos dar mais uma pausa aqui de 2 segundos para garantir que ele consegue fazer isso corretamente E mais uma vez após ele encontrar o botão de download vamos também dar aqui o zip de 2 segundos certo então acho que tá tudo certinho agora vamos rodar aqui e Teoricamente ele deve conseguir renomear agora esses arquivos Vamos dar um play aqui eu quero que você fique de olho aqui na pasta de relatórios tá
vou Minimizar aqui para vocês conseguirem visualizar melhor dar uma olhada aqui na pasta de relatórios ele deve baixar um arquivo e automaticamente já ir renomeando os arquivos para o nome da empresa deve iniciar o download daqui a pouco ó iniciou o primeiro perfil empresa mudou para tecnocor mudou para energia Verde sau deais Olha aí pessoal ele tá mando os nomes corretamente olha que massa como que a gente fez aqui em pouquíssimas linhas de código uma automação que pega um arquivo de um site baixa no seu computador no local onde você quer e depois renomeia ele
corretamente você poderia ir muito mais longe e por exemplo movimentar isso aqui para outras passas fazer o envio por e-mail tem várias opções que você poderia ir ir a partir daqui de acordo com a sua necessidade só que a nossa necessidade agora e inclusive se você conseguiu fazer até aqui digita aqui embaixo TDS pdfs só que agora a nossa necessidade pessoal é de continuar no quê até a próxima página então nós temos que fazer esse o mesmo processo para a página dois Então como que eu faço isso aqui vamos lá vou explicar para vocês a
lógica disso aqui deixa eu dar o cont control c aqui no terminal para fechar essa aplicação eu vou deletar esses arquivos aqui porque eu quero que ele e faça isso tudo de novo para mostrar para vocês qual que é a lógica aqui agora se eu já fiz aqui né todos os a os itens da primeira página eu preciso agora ir pra próxima e aí quando eu vou pra próxima página eu cliquei aqui ó você vê que ele fica Cinza o botão isso quer dizer que nós não temos mais ele tá desabilitado Então qual que seria
a lógica para verificar se existe uma próxima página e caso essa próxima página exista que eu clique nela nesse caso eu vou identificar esse botão Então vou aqui clicar F2 no meu teclado vamos identificar ele ão setinho aqui clicar nele ele é um Button com atributo id e o valor next Button Então vou montar aqui esse XTR F bar Barra Button com tipo ID com atributo ID na verdade e o valor Qual que é o valor que eu já esqueci O valor é next Button então next Button Ok então eu vou copiar isso aqui copiar
esse xpath voltar no meu vs code Ok voltei aqui no meu vs code e agora após ter finalizado aqui esse processo Você concorda que esse código ele tá baixando e ao mesmo tempo renomeando os arquivos né na verdade todo esse processo aqui ó todo esse código aqui ele faz isso como eu vou ter que refazer isso mais uma vez não faria sentido copiar esse código e colar aqui né duplicar ele duas vezes não faz sentido ficaria horrível esse código aqui não seria nada limpo a forma certa de fazer isso é fazer o quê colocar isso
aqui tudo dentro de uma função Então logo após aqui ó logo logo antes né do código que encontra o nome da empresa eu vou fazer aqui um Def ou seja vou criar uma função vou chamar ela de algum nome o nome será baixar underline arquivos baixar relatórios da das empresas abre e fecha parênteses e aqui como eu irei usar o nosso driver que é o nosso simulador de navegador eu vou passar o driver aqui como parâmetro certo dois pontos e agora eu pego todo esse código aqui ó até o os. rename seleciono ele e dou
um Tab para que ele fique inventado aqui dentro dessa função Ok já está aqui dentro da função Então agora que que is interessante porque agora na sequência eu posso chamar aqui a minha função baixar relatórios da empresa passar o driver como parâmetro então o driver será igual a driver tá então estou passando esse driver que nós definimos aqui em cima aqui em cima na verdade certo então quando eu faço isso ele pegar ele pega aqui o driver e roda todo esse código pra primeira página só que eu também preciso que ele Rode esse código pra
segunda página Como que eu posso verificar eu verifico se aquele botão existe então eu venho aqui mais uma vez vou copiar esse xpath e vou fazer o seguinte vou fazer um driver PF elements by xpath passar aqui o xpath e chamar ele de Botão próxima página Ok eu já encontrei o botão próxima página Mas como que eu sei né se eu posso ou não ir pra próxima página nesse caso eu vou verificar se ele está habilitado ou não Como que eu faço isso se eu colocar aqui se eu clicar nele aqui agora ó setinha clicar
nele ele está atualmente assim ó Button e d next Button el tá funcionando normal e ele está azul só que se eu clicar nele aqui agora ó e agora selecionar ele mais uma vez como que ele está agora ele está agora com essa propriedade disabled tá tá com a propriedade disabled ou seja está desabilitado E se ele estiver desabilitado significa o qu que eu cheguei na última página então eu não consigo mais continuar minha automação roda a automação só nessa página e depois para o programa Então como que eu implementa essa lógica dentro do meu
código eu venho aqui e faço o seguinte eu faço o seguinte enquanto então while né enquanto o botão próxima página ponto e aqui tem uma função do celenio que chama get attributes que me permite extrair um atributo o atributo que eu vou extrair é o atributo disable Eu Vou extrair esse atributo e verificar e se está presente ou não então enquanto ele não estiver presente isso quer dizer que eu ten uma próxima página para seguir concorda então enquanto aquele botão não possui a propriedade disabled nós temos mais páginas para explorar e para fazer essa verificação
eu coloco aqui um igual igual None então se ele for igual a nada se ele não existir isso quer dizer que nós podemos continuar seão se essa propriedade disa não existir nós podemos continuar então dois pontos e aqui dentro eu vou fazer o quê eu vou clicar nesse botão né então então próxima página pon clip Para que eu possa carregar mais empresas e eu vou chamar minha função baixar relatórios da empresas das empresas passar aqui o driver né mais uma vez driver igual a driver e Teoricamente Agora ele só deve rodar essa automação Até chegar
na última página porque assim que ele chega na última página ele Verifica que está de fato desabilitado e ele nem roda esse código aqui ele deve rodar só pra primeira e segunda página Vamos testar aqui então meu eu apaguei todos os pdfs aqui para verificar que ele vai começar do zero eu vou rodar essa aut ação e ele deve renomear agora e baixar todos os arquivos de todas as páginas Então vou levantar minha mão aqui e nós vamos agora só observar para ver se de fato ele consegue fazer isso deixa até minimizar a página para
vocês conseguirem ver melhor né OK então ele tá baixando ali ó baixou deixa eu mover aqui para vocês conseguirem enxergar ó ele tá baixando renomeando baixando renomeando ó ele tá moviment você vê que ele tá movimentando aqui na tela Ó você vê que tá destacando na tela os os pdfs ali os arquivos das empresas que ele tá baixando ele tem que ir pra próxima página Vamos vamos ver ele vai conseguir Opa foi pra próxima página tem que começar a baixar o Edo aprender edou aprender tá renomeando você pode ver na esquerda que ele tá renomeando
tá conseguindo passar e ele tem que parar Aim que ele chegar ali no chegar no técnica no Tech segura Então vamos verificar se ele vai conseguir Falta só mais dois baixou o penúltimo baixou o último el tem que parar agora o programa e tudo indica que ele parou aí o programa parou e tá dizendo aqui ó a perte enter para fechar vou apertar enter e pronto ele vai fechar nosso programa E Agora Nós temos aqui todos os arquivos que foram baixados corretamente então pessoal se você chegou até aqui você finalizou esse programa Meus parabéns e
se você gostou dessa automação e quer aprender mais comigo eu tenho uma playlist inteira sobre automações de freelancer vou deixar o link aqui só clicar e se você quer aprender a ganhar dinheiro com isso e ter um treinamento completo do total iniciante ao avançado eu vou deixar o link do meu treinamento aqui embaixo para você participar e aprender a ganhar dinheiro e criar automações como essas do zero deixa o like aqui no vídeo e digita aqui embaixo vamos automatizar tudo