muitas pessoas me perguntam como que elas podem fazer dinheiro com python e por esse motivo hoje eu trouxe para vocês essa demanda que chegou no meu site de orçamentos Lembrando que o meu site de orçamentos é esse site aqui onde você pode fazer orçamentos de sistemas ou automações essa aqui é uma demanda que eu cobraria em torno de R 1.500 a R 2.000 podendo ficar até mais alto se você for colocar a interface gráfica e eu vou te mostrar como fazer ela do zero mesmo se você nunca escreveu um Aninha de código antes então bora
lá deixa eu te mostrar como que eu vou fazer ela então vamos ler essa demanda aqui do zero lembrando pessoal eu estarei usando dados fício tá não são dados de pessoas reais eu vou usar cpfs informações aqui que são fictícias é importante eu dizer isso porque eu já tive um vídeo do YouTube que foi literalmente deletado porque eu usei cpfs apesar de serem fictícios então YouTube não deleta meu vídeo e pessoal se você tá vendo aqui presta atenção porque talvez esse vídeo seja deletado então para começar qualquer tipo de trabalho de freelance você tem que
entender a demanda perfeitamente saber exatamente o que que o cliente quer certo nesse caso aqui eu quero que você leia comigo essa demanda nós iremos analisar exatamente o que que o cliente está querendo aqui então Vamos ler aqui a demanda certo vou dar um zoom só na demanda aqui cliente disse o seguinte antes de qualquer coisa parabéns pelo conteúdo disponibilizado muito bom me tornei Seu Fã estudo desenvolvimento de jogos mas por conta dos seus conteúdos estou pensando seriamente em mudar de área enfim preciso de uma automação para consultar valores verificar se está pago atrasado e
a forma de pagamento cartão ou boleto então a dica eu quero deixar para vocês aqui também de cara pessoal é já ir separando as informações que o cliente está pedindo Você pode abrir o bloco de notas tá para deixar mais simples aí então se a gente separar essa primeira primira parte aqui né só essa primeira parte que ele tá falando aqui n basicamente a parte do do desenvolvimento em si é isso aqui ó preciso de uma automação para consultar valores verificar se está pago atrasado e a forma de pagamento Então qual que é a demanda
verificar se valores estão pagos ou não E caso esteja estejam verificar a forma de pagamento e aqui eu já consigo entender uma parte dessa demanda vamos seguir aqui pego as informações no exel exemplo a planilha tem o nome valor vencimento Preciso pegar o CPF do cliente jogar dentro do sistema web um site que usamos na empresa e verificar se lá realmente está pago e a data que foi pago para assim dar um ok na planilha de fechamento tentei realizar um programa que fizesse esse procedimento mas não soube como fazer para copiar a informação do site
e nem colar na planilha de volta Outro ponto tentei juntar o celenio e o pirot Gui no mesmo programa mas não sei se é possível fazer tal feito Desde já agradeço e e espero que continue com um ótimo trabalho espero comprar o seu curso para me desenvolver ainda mais beleza obrigado aí pelos elogios Vamos focar então na parte aqui da demanda então ele pega as informações no Excel e aqui ele fala quais informações tem nessa planilha certo e aí para simular essa parte o que que eu fiz aqui para ficar mais fácil para vocês eu
peguei aqui né e criei uma planilha deixa eu mostrar para vocês a planilha que simula esses dados Como já disse pessoal são Dados fictícios não são Dados reais de pessoas aqui tá são informações fictícias Então fui lá criei né uma planilha que contem essas informações simulando o que ele te forneceria aí como cliente então tem nome tem o valor da daquela daqu daquela conta a o CPF né e o vencimento quanto que vence aquela conta então Aqui nós temos a planilha né se eu voltar na demanda beleza eu tenho as informações na planilha ten as
informações na planilha e aí o que que ele tá falando aqui que ele abre um site para verificar se a pessoa está paga ou não essa é uma coisa né e a data que foi paga e claro ele tinha falado aqui também aqui em cima que o seguinte Ele precisa saber qual que é a forma de pagamento certo então o que que eu fiz para simplificar isso aqui eu fui lá e também Criei um site simulando isso aqui tá aqui está o site onde eu posso pegar um CPF se eu pegar um CPF aqui entrar
nesse site colar clicar em consultar ele me gera aqui né o status se está em dia a data do pagamento e o método do pagamento se foi boleto ou não se eu consultar um outro CPF aqui V pegar um outro CPF colocar aqui consultar tá atrasado se eu consultar de novo aqui está em dia meta pagamento foi cartão então Claro pessoal isso aqui site Esse site não tá conando de fato os dados lá são valores aleatórios para simplificar aqui para ter um exemplo para vocês Como já disse são Dados fictícios então não posso consar de
fato os dados de CPF daquela pessoa Porém esse aqui simula exatamente o cenário que você teria com esse freelancer e assim eu consigo mostrar para vocês sem ter nenhum tipo de problema com o cliente certo ok Voltando à demanda aqui basicamente o ele quer que você faça né é consulte os dados se se você for tentar entender ele quer fazer o quê verificar se está pago e a data que foi pago para ele dar um ok na planilha de fechamento então é basicamente o que se você pegar essa demanda e resumir aqui né no no
bloco de notas então se você resumir essa demanda aqui no bloco de notas nós estamos falando do quê verificar Então você teria que fazer o quê com base em uma planilha pegar o CPF e consultar no site disponibilizado para verificar se a conta está ou não está ou não paga Caso esteja paga preencher na planilha de fechamento como Ok caso contrário informar que continua pendente resumidamente Essa é a demanda certo e agora nós vamos entrar na parte como você pega essa demanda que você recebeu no e-mail e transforma ela em código e finalmente entrega isso
pro cliente certo e pessoal se você tá curtindo esse vídeo já vem aqui embaixo se inscreve no canal curte esse vídeo e me deixa aqui embaixo o seu nome e porque que você tá aprendendo essa automação aqui hoje ok então continuando aqui pessoal qual que seria o passo o próximo passo Tá eu já entendi a demanda tá um como um todo porque às vezes é difícil você pegar uma demanda que a pessoa escreve um monte de coisa não tô não tô falando mal desse cliente tá pessoal se você é esse cliente aqui tá vendo esse
vídeo não estou ah querendo te ofender eu tô só falando que é muito normal as pessoas falarem um monte de coisa Inclusive eu agradeço os elogios aqui tá muito obrigado pelos elogios Mas você tem que tentar entender dessa de monte de coisa que eles te passam o que que de fato deve ser feito tá o ideal é que você entenda da demanda através de uma ligação de 15 minutos porque muitas vezes as pessoas esquecem colocar alguma informação ou você consegue extrair informações extras lá nessa Call entendeu porém vou tentar fazer aqui da forma que ele
passou para ficar mais didático para vocês Beleza então vamos lá já tem aqui o resumo da demanda agora eu vou pegar e vou fazer o quê definir quais são os passos manuais dessa tarefa por que que eu tô fazendo isso por né Para que eu possa transformar elas elas em código po seri mente Então vamos pegar agora e entender como que essa tarefa seria feit de forma manual Tudo começa o qu na planilha certo eu tenho que pegar aqui o CPF da pessoa né vou copiar esse CPF então anota aqui esse primeiro passo Vamos então
vamos anotar esse primeiro passo colocar aqui a nova janela tá então primeiro entrar na planilha e extrair o CPF do cliente na sequência eu faço o que eu entro no site de consultas que é o consulta CPF traço Dev aprender pfy P app cola aqui dentro de CPF o CPF daquele cliente depois clica em consultar então entro no site e aqui eu vou pegar o nome do site copiar voltar aqui entro no site e pesquiso e uso o CPF da planilha para pesquisar o status do pagamento daquele cliente Ok fiz isso quando eu faço a
consulta ele entrega algumas informações certo ele pode estar tanto em dia como atrasado né Se eu pegar aqui outro exemplo clicar em consultar está atrasado então o que que eu faço aqui o próximo passo é verificar se está em dia ou atrasado certo e agora nós temos o quarto passo que depende do terceiro certo e se estiver em dia pegar a data do pagamento que isso foi um requisito dele tá se vocês olharem aqui na demanda verificar se realmente está pago e a data que foi paga para assim dar um ok na planilha de fechamento
então voltando aqui se estiver em dia pegar a data de pagamento e o método de pagamento que também foi um requisito tá se você voltar aqui ó Mas ele pediu aqui ó forma de pagamento e aqui embaixo ele pediu a data que foi pago certo Então são duas informações que foram solicitadas Ok beleza caso contrário ou seja se estiver atrasado nós podemos assumir que ele continua atrasado então nós vamos colocar aqui colocar o status como pendente e aqui colocar como pendente em uma planilha de fechamento ou seja basicamente uma outra planilha que organiza se a
pessoa está pagando está em dia ou não certo então o que que você poderia fazer aqui e como sexto passo inserir essas informações em uma nova planilha quais são essas novas informações tá essas novas informações são as informações que já estão na planilha Inicial que é o nome deixa eu até confirmar aqui é o nome valor CPF e vencimento nome valor CPF e vencimento e ah colocar também uma uma última coluna aqui que seria status que será como em dia ou pendente e Caso haja tá E caso esteja em dia você terá duas outras colunas
que serão as colunas de data pagamento e a coluna método pagamento que seria no caso eh que será no caso cartão ou boleto de acordo com o que ele forneceu ali certo e o sétimo passo seria repetir até chegar no último cliente certo então agora eu vou te mostrar como transformar tudo isso aqui em código Python certo lembrando pessoal que você vai precisar de três links para conseguir seguir isso aqui um são os materiais de apoio vou deixar aqui na descrição que é essa planilha e o link para esse site dois se você quer fazer
um orçamento também sobre um sistema ou bot para poder resolver uma demanda sua eu vou deixar o link do meu site de orçamentos aqui embaixo e terceiro se você quer aprender a Como ganhar dinheiro com python aprender as habilidades necessárias técnicas e também de negociação para fechar clientes de freelancer e ter todo o passo a passo que você precisa a minha formação mess vai estar aqui também como terceiro link aqui na descrição certo então vamos continuar aqui com essa parte do código então agora eu vou pegar tudo isso aqui né que eu extraí como requisito
dá um Ctrl C para copiar e agora nós iremos codar essa solução certo para codar você precisa ter o Python e o vest code instalado se você não tem essas ferramentas instaladas eu vou deixar o vídeo aqui na descrição que te ensina exatamente como fazer essa instalação do vest code e do Python o Python sendo linguagem de programação que nós iremos utilizar e o ves code o editor de texto certo então vamos lá eu vou abrir aqui Ah vou criar uma nova pasta na verdade vou chamar ela de consulta pagamentos e vou abrir ela no
vs code Então vamos abrir aqui o vs code eu vou abrir aqui essa pasta Então vou em file ou arquivo Open folder ou Abrir pasta ir até o local onde eu criei essa pasta selecionar ela e clicar em select folder ou selecionar pasta Beleza se aparecer essa mensagem você pode dizer que você confia nos autores então Yes I trust authors para iniciar nós devemos criar um arquivo Python então você pode clicar aqui New file chamar ele de App y e aqui eu vou colar um comentário Deixa eu só Minimizar essa barra clicando aqui vou colar
esse aqui como um comentário da seguinte forma cont Crol V para colar tudo só que para tornar esse aqui um comentário eu vou aqui na linha Inicial coloco três aspas simples e três aspas simples no final também para deixar isso aqui como um comentário vou apertar Alt Z para quebrar a linha para que eu possa ler tudo dentro aquii do meu dentro do meu vs code e agora já tenho as instruções que eu tenho que transformar em código certo inclusive pessoal se esse estilo de vídeo tá sendo bem claro para você deixa aqui embaixo a
sua opinião sobre esse estilo de vídeo é muito importante para mim o seu feedback então para começar eu tenho que entrar na planilha e extrair o CPF do cliente para conseguir fazer isso eu tenho que jogar essa planilha aqui dentro se você não tem a planilha eu já disse para vocês que eu deixei aqui em anexo os materiais de apoio beleza a minha planilha especificamente ela tá bem aqui na minha área de trabalho então vou pegar arrastar e soltar aqui dentro beleza OK a planilha já está aqui eu posso fechar ela para que eu possa
de fato ler dados de uma planilha você pode fazer o seguinte vamos entrar aqui control J para abrir o terminal e eu quero que você faça a instalação de duas bibliotecas que nós iremos utilizar aqui hoje uma delas é o open Pie Excel para ler planilhas Então vamos fazer aqui um PIP e aqui você pode fazer um PIP install Open by Excel que será utilizada para ler planilhas e o Selenium que será utilizado para entrar no site e consultar a informação com base no CPF Se você estiver no Mac ou Linux use o comando PIP
3 certo vamos dar aqui um enter ok ele já fez a instalação Posso apertar cont control j e agora para de fato conseguir usar essa biblioteca V fazer aqui um Import Open P Excel Ok então vamos agora ler essa planilha tá como que eu faço isso eu vou deixar ela aqui aberta ao lado para que vocês possam ver o nome que é dados clientes.xls então venho aqui vamos pegar essa primeira instrução que é entrar no site copiar aqui e deixar aqui embaixo como um comentário então #cola para você ter um comentário para abrir essa planilha
eu posso fazer um Open P Excel P load workbook para carregar o workbook e aqui entre aspas eu coloco o nome completo deste arquivo Então vou pegar aqui F2 para poder selecionar o nome cont control a para selecionar tudo e cont contrl C para copiar Beleza vou colar aqui dentro e agora Guarda essa informação na variável que eu vou chamar de planilha clientes Ok deixa eu Minimizar essa barra aqui agora com a planilha carregada eu tenho que acessar apenas a página que contém os dados dos clientes adanta Não entendi deixa eu abrir para vocês aqui
pessoal vou abrir aqui quero que vocês prestem atenção a uma coisa aqui embaixo nós temos os nomes das páginas certo é possível que você tenha aqui várias páginas então é importante que você acesse somente a página que você quer que nesse caso está com o nome de sheet um certo Então deixa eu pegar Exatamente esse nome e acessar somente esse nome aqui vou fechar a planilha e agora eu posso fazer o seguinte planilha clientes indexado de sheet 1 exatamente como está escrito lá na planilha vou Minimizar aqui e agora Guardo essa informação numa variável que
vou chamar de página clientes então agora estou literalmente naquela única página com aqueles dados que eu quero como estou nessa página eu posso agora entrar em cada uma dessas linhas e varrer das informações Como que eu faço isso bem simples você faz aqui um for linha em página cliente pon eer rows que que é esse e rows esse é uma função do Open P Excel que te permite estar lendo cada linha daquela planilha e aqui você pode especificar algumas questões Como por exemplo o min Row que que é esse min Roll min Roll igual a
do por exemplo Isso quer dizer em qual linha ele vai iniciar a leitura se você voltar aqui na planilha eu quero que ele inicie a partir da primeira linha não porque a primeira linha é apenas a coluna nós não temos nomes de clientes nós não temos valores esses esses dados começam a partir da segunda linha Então por esse motivo eu venho aqui e especifico que eu quero o min Row Ou seja a linha mínima para ele iniciar de dois Além disso eu posso especificar o values only iG true que que quer dizer isso quer dizer
que ele vai me retornar somente os valores que estão naquelas linhas e assim eu posso extrair somente as informações que eu quero trabalhar de forma mais simplificada certo ok vamos dar um dois pontos aqui enter e agora eu posso extrair essas informações tá como que eu faço isso eu vou extrair daqui agora o seguinte se eu colocar aqui aqui linha e aqui atrás eu colocar igual a eu posso receber aqui atrás todas as informações que estão naquela linha nesse caso dessa planid é nome valor CPF e vencimento então aqui eu vou colocar Exatamente isso nome
valor CPF e vencimento certo isso quer dizer que cada vez que eu rodo esse código ele vai extrair essas informações Tá eu vou até confirmar para vocês dando um print aqui chamado de nome print chamado de valor print de CPF e print de vencimento para confirmar certo vou apertar F9 aqui para poder debugar ou seja entrar linha por linha nesse código e agora vou apertar F5 selecionar Python debug Python file e agora vamos aguardar aqui ele iniciar esse processo ok ele já caiu aqui e agora eu vou apertar F10 para ele pular essa linha e
agora se eu dar um um F10 ele tá começando ele começou a imprimir aqui na tela ó no Mota F10 de novo imprimiu o valor F10 de novo imprimiu o CPF F10 de novo imprimiu o vencimento se eu continuar aqui ele vai fazer esse mesmo coisa para as outras pessoas certo não vou continuar aqui porque demoraria muito mas se você conferir Noah e Carlos são exatamente o quê o primeiro e segundo dado que está aqui né o primeiro e segundo nome na verdade que está aqui nessa planilha Então esse código tá funcionando perfeitamente inclusive se
esse código aqui funcionou para você também diz aqui embaixo tô planilhando ok então beleza consegui fazer essa parte posso parar aqui o código dar um Stop cont control J para esconder essa barra control B para esconder a barra lateral posso apagar esse sprints não precisamos dele o próximo passo agora eu já consegui fazer a primeira parte que é entrar na planilha e extrair o CPF do cliente que na verdade extrair as outras informações também né porque eu vou ter que usar isso pra frente então já extraí todas as informações próximo passo é entrar nesse site
aqui ó Então deixa eu colocar aqui o próximo passo como hashtag entrou no site entrar seria aqui né Entrar no site e usar o CPF da planilha para pesquisar o status do pagamento daquele cliente Ok então se eu quero pesquisar se eu quero entrar no site tá eh que que eu tenho que fazer eu tenho que usar o Selenium eu vou importar ele aqui agora vamos fazer um eh o seguinte from Selenium Import webdriver from selenium.webdriver.common.by Import byy com b maiúsculo por que que eu estou importando isso aqui pessoal no caso essa linha me permite
estar abrindo o navegador que eu estaria usando para automatizar processos em sites né e o buy me permite encontrar elementos dentro da página para que eu possa interagir com eles como por exemplo inserir o CPF da pessoa e clicar no botão consultar Então vamos fazer exatamente isso agora lembrando pessoal que para você conseguir usar o celen webdriver da forma que eu vou usar aqui você precisa ter o navegador Google Chrome instalado se você não tem isso Faça isso agora porque isso aqui só vai funcionar com o Google Chrome certo então vamos lá para iniciar o
navegador você pode fazer um você pode fazer um webdriver p Chrome nós iremos utilizar o Chrome nesse caso abre fecha parênteses e eu vou chamar ele aqui de driver certo e agora para de fato acessar um site é muito simples basta digitar aqui embaixo deixa eu dar um zoom para vocês basta digitar aqui embaixo driver.get e passar aqui entre aspas simples ou duplas tanto faz o site que você quer acessar que nesse caso é esse aqui vou colar aqui dentro colei E aí que que eu vou fazer eu vou dar uma pausa de 5 segundos
para ter certeza que o site carregou Como que eu posso dar pausa jando na minha execução bem simples pessoal você vem aqui em cima e importa mais uma coisa que é o from time Import sleep isso me permite estar pausando por quantos minutos ou segundos eu quiser certo então aqui embaixo eu vou dar um slip cologo depois essa linha aqui ó Dá um enter Zip de 5 segundos Então agora que que vai acontecer eu vou rodar esse código aqui ele deve acessar o site certo vou dar um F9 aqui e vou apertar F5 para rodar
esse código então eu vou levantar a mão aqui ele deve abrir o site sem eu fazer nada Opa já abriu então Opa ali acabou que abriu o vs code na frente né mas ele conseguiu abrir o site tá tá aqui o site aberto ele conseguiu abrir então beleza essa parte funcionou também se você conseguir abrir o site pessoal digita aqui embaixo site aberto Então beleza deixa eu fechar essas coisas aqui dechar aqui lateral fechar mais uma vez Então beleza já consegui entrar no site e agora ten que usar esse CPF da planilha que já está
aqui inclusive ó já extraí aqui o CPF para consultar né o status daquele pagamento então o que que eu quero que você entenda agora para automatizar um site você tem que encontrar o elemento com o qual você quer fazer algum tipo de interação como eu quero interagir com esse campo de CPF aqui que vai está inicialmente apagado né o site vai iniciar é dessa forma aqui posso eu posso clicar em botão direito inspecionar ou inspect ele deve abrir essa janelinha aqui na direita tá que inclusive eu tô bloqueando ela e abru essa janelinha aqui na
direita vou dar um zoom para vocês é é só apertar control mais aqui dentro que ele já dá um zoom de diminuir isso aqui então basicamente aqui eu posso ver as informações sobre aquele campo e eu só tenho que prestar atenção em basicamente duas coisas tá pessoal eu tenho que olhar aqui duas coisas Qual que é a tag a tag é o que dirão não sei o que é a tag a tag no caso aqui que eu tô usando no Tero escuro são essas primeiras palavrinhas aqui né em azul for div Label Body head input
Button div script etc Além disso eu tenho também os atributos que que são os atributos como eu estou usando o tema escuro são aqui esses essas palavrinhas que estão no azul mais claro como Type Class ID required placeholder aqui embaixo tem por exemplo Class né e assim sucessivamente O que que você deve fazer para conseguir de fato selecionar um campo e conseguir interagir com ele encontrar uma forma única de identificar esse campo uma da as formas únicas que você pode identificar um campo é por a classe ou o ID nesse caso o ID aqui desse
campo é o quê CPF input então eu posso usar ele como uma forma de encontrar o meu campo como que eu sei que isso aqui vai funcionar Jona muito simples pessoal a forma mais simples de você fazer isso é usando algo chamado de xpath que que é o xpath é quando você pega a tag abre e fecha colchetes @a o atributo igual a valor certo não entendi me explica direito aí Tá bom então vamos lá vou clicar aqui dentro dar um cont control F E olha que já abriu uma janelinha aqui embaixo tá E aí
eu faço o qu Inclusive eu até esqueci de colocar aqui ó falta um barra barra né então eu faço o que eu coloco barra barra o nome da tag que nesse caso se eu botar Se eu colocar aqui ó nesse caso se eu colocar aqui botão direito inspect ele me leva para lugar né está aqui ó a tag é uma tag do tipo input então venho aqui digito input e agora eu preciso de uma informação única ele sempre deve ser único tá a não ser que a pessoa tenha criado o site errado mas em tese
ela deve ser sempre única então eu posso usar ela como base para encontrar esse elemento se eu voltar aqui na lógica seria a tag entre colchetes eu coloco o atributo mais valor então deixa eu colar isso aqui ó Então abre e fecha colchetes Qual que é o atributo que eu vou usar nesse caso é o atributo ID então substitui aqui por ID e o valor Qual que é o valor desse ID o valor do id o valor do id é CPF input com i maiúsculo Então coloca aqui ó CPF i maiúsculo input enter e agora
ele já encontrou o elemento tanto que ele já está ele já está destacando ele aqui pra gente e está mostrando aqui ó que ele encontrou um elemento O que é perfeito porque nós queremos Exatamente isso certo que ele encontre apenas um elemento Então vou copiar isso aqui e olha que legal Como que você usa isso aqui agora eu venho aqui eu venho aqui e faço um driver P find Element abre fecha parênteses by maiúsculo com b maiúsculo pon xpath que é a técnica que nós iremos utilizar para encontrar esse elemento e aqui entre aspas dúas
eu vou colocar esse conteúdo que eu acabei de montar lá no site certo é importante que você preste atenção que as aspas aqui não devem ser iguais Se eu colocar aspas simples aqui e aqui ele vai dar um erro tá você pode ver que tá vermelhinho aqui ó porque eu estou usando o mesmo tipo de aspas você precisa de usar aspas diferentes então recomendo que você faça aspas duplas aqui e aspas simples aqui dentro do seu experto que você montou lá no site quando eu faço aqui ele retorna um elemento que nesse caso nós vamos
chamar de Campo pesquisa certo como eu já tenho o campo da pesquisa eu posso digitar nesse Campo Olha que legal eu posso fazer um campo pesquisa ponto send Keys que é a função do CDN que me permite estar escrevendo alguma coisa naquele campo que vai literalmente automatizar a escrita né E que eu pego e coloco o quê o CPF de onde que eu tirei esse CPF aqui mesmo dessa linha que eu estou lendo nesse momento Então já tá tudo pronto já consegi escrever o CPF Então beleza isso aqui está ok porém é importante que você
tenha uma pausa entre as ações se você tentar fazer um contrar elemento eic já escrever dentro dele Pode ser que trave tá então eu recomendo que você coloque uma pausa aqui de 1 segundo então um slip de 1 segundo aqui ele faz a a digitação do CPF então mais uma pausa de 1 segundo slip de 1 segundo e na sequência que que eu tenho que fazer se você entrar aqui na nos nossos passo a passo é entrar no site já entrei no site e agora ten que verificar se está em dia ou em atrasado né
então vou copiar esse próximo passo aqui na verdade vou copiar esses próximos passos aqui aqui embaixo como comentário hashtag hashtag hashtag don't Tab Down Tab Beleza então eu vou verificar se está em dia ou atrasado como que eu eu faço para verificar se tá em dia ou atrasado eu tenho que entrar no site e clicar em consultar tá vou colocar um CPF clicar em consultar se eu clico em consultar eu consigo verificar aqui embaixo após alguns segundos o status Então qual que é o próximo passo clicar em consultar e para clicar em consultar o processo
é o mesmo você tem que clicar no botão direito inspecionar não tá aparecendo para vocês na tela aí tá pessoal que tá cortando aqui deixa eu tentar ajudar isso para vocês pera aí botão direito inspecionar Ok e aqui ele já me jogou para onde me jogou para esse botão aqui ó Button submit com essa classe então agora o que eu tenho que fazer eu tenho que conseguir encontrar esse botão usando a mesma técnica de xpath certo então a mesma técnica eu vou usar de novo então vou colar aqui dentro esse modelo de exper né e
agora vou montar um específico para esse botão Qual que é o tipo de tag é tipo Button Então vou trocar aqui de tag para Button Qual que é o atributo que nós iremos utilizar ele possui uma classe aqui ó que é essa classe aqui ó btn btn Custom btn LG btn Block M3 mt3 eu vou copiar isso aqui rapidão e colar aqui dentro sem nada só para ver se tem algum outro lugar usando isso você pode ver aqui embaixo ó que ele só encontrou um uso disso na página ou seja não tem mais nenhum local
nenhum elemento nenhum HTML aqui dentro que tá usando isso aqui então eu posso usar ele para encontrar esse botão então voltando aqui vou dar um contol z qual atributo que eu iria usar o atributo Class Então vou colocar aqui Class e aqui dentro de valor eu vou colar aquilo que eu encontrei que é isso aqui beleza então agora eu já tenho o exper né a forma de encontrar aquele botão dessa página Então vou copiar aqui esse seath copiei vamos voltar aqui e eu vou fazer o seguinte vou fazer um driver P find Element by xpath
vírgula e aqui eu colo entre aspas duplas aquele xpath que eu acabei de montar isso aqui já deve me retornar o botão Então vamos colocar aqui botão pesquisar como eu já tenho esse botão eu posso clicar nele então botão Pesquisar ponto clique é simples assim para fazer um clique no botão pessoal só que eu não quero fazer esse clique de cara mais uma vez é bom dar uma pausa tá então vamos dar aqui um zip de 1 segundo antes de clicar nele e após clicar se você voltar aqui na página olha que interessante é bom
você prar prestar atenção nisso eu vou clicar em em consultar e eu quero que você conte quantos segundos demora para aparecer o resultado vamos lá conta comigo 1 2 mais ou menos 2 segundos vou fazer de novo aqui 1 2 3 3 segundos mais uma vez 1 2 3 então nessa média de 2 a 3 segundos para conseguir trazer o resultado então isso quer dizer que você não pode ir pro PR próximo passo sem esperar no mínimo Esse tempo tá então vamos colocar aqui para ser seguro aqui ele vai esperar 4 segundos para ter certeza
que ele vai ter trago ali informação né antes de ir pro próximo passo que é o quê verificar se está em dia ou não E como que eu vou verificar se tá em dia eu vou pegar essa informação e Vou extrair ela né então eu venho aqui ó eu tenho que ler esse status aqui ele pode estar como atrasado Ou pode estar como em dia Então como que eu leio essa informação mesmo esquema pessoal botão direito pera aí que não tá aparecendo para vocês né Deixa eu colocar aqui ó botão direito inspecionar ou inspect Beleza
já inspecione ele caiu aqui aqui ó status dentro desse spam né que tem o ID com status Label certo deixa eu dar um Ctrl c e colocar aqui dentro para ver se existe algum outro status Label tem aqui e tem tem aqui é em código ele encontrou dois aqui ó só que eles essa segunda eh só que esse segundo local onde ela encontrou não é código HTML aqui ele aqui ele tá dentro do script o que tá dentro do script pessoal não tem problema tá então ele basicamente encontrou apenas um status lables então eu posso
usar ele sim deix eu ir lá de novo botão direito inspecionar beleza Vamos então colocar Nossa colinha aqui de xpath para montar ela Então nesse caso a tag do tipo spam inclusive pessoal se você tá conseguindo fazer pausa o vídeo aí e tenta fazer por conta própria já vai aprendendo bastante aí eu vou usar aqui um ID chamado status Label então o atributo será id e o valor será status com L ah maiúsculo e aqui você pode ver que ele encontrou somente um elemento que é perfeito pra gente certo Então beleza vamos lá e vou
te mostrar como extrair agora esse status então vamos aqui fazer o seguinte driver by driver PF Element by xpath dois aspas duplas cola ali dentro eu vou guardar isso em status Ok e agora eu tenho que fazer uma condicional tem que comparar esse aqui tá em dia ou tá atrasado né porque aqui ó se estiver em dia pegar a data p pagamento e meta de pagamento caso contrário se estiver atrasado colocar status como pendente então eu vou fazer o seguinte vou fazer um condicional Como que eu faço condicional de on Não entendi primeiro você tem
que extrair o texto né que foi lido da página para isso você faz o quê status P text se você fizer isso ele já te dá ali né o texto que está ali dentro tanto que se eu debugar esse código aqui agora vamos debugar vou apertar F9 e vou mandar rodar F5 para rodar Então olha aqui ele vai pausar Em alguns momentos já Avis aqui que eu apertei que eu apte F9 ele vai parar naquelas partes né mas eu não quero que ele pare aqui eu quero que ele pare somente aqui dentro de texto certo
então vou apertar aqui F5 para ele pular pro próximo passo ele vai esperar alguns segundos né Porque nossos processos aqui demoram alguns segundos eu pedi para ele pausar entre algumas ações ele está fazendo aqui o processo vamos aguardar aqui pronto ele já parou ali onde eu queria Então agora eu posso confirmar aqui ó o status está em dia vamos confirmar se tá certo se eu entrar no site para essa consulta que ele fez o primeiro CPF inclusive Tá tudo funcionando a gente perfeitamente a gente pode ver que funcionou perfeitamente está em dia se eu deixar
esse código rodar vou apertar F5 ele vai rodar de novo vai fazer o mesmo processo mais uma vez Então vai entrar no site pera aí pessoal acho que deu uma travadinha aqui deixa eu reiniciar aqui a execução vou parar mas de qualquer forma eu já percebi um pequeno erro aqui pessoal que foi o seguinte eu não devo Abrir o site várias vezes tá o site deve ser aberto apenas uma única vez Então vou pegar essa linha aqui que inicializa o driver e abre o site cont control x nela e colar aqui em cima porque o
site só deve ser aberto uma única vez e nós iremos pesquisar várias vezes tá então deixa eu fazer isso aqui para não e não quebrar e não travar na sua automação Beleza então vocês perceberam ali que ele conseguiu extrair o texto está em dia e a outra opção seria o quê atrasado então com essa informação eu consigo criar um condicional que seria o seguinte if status ptex igual a em dia nós iremos fazer uma coisa aqui certo faremos algo então caso contrário nós iremos fazer outra coisa certo então vamos fazer aqui ó deixa eu até
pegar esse essa linha porque essa aqui seria o nosso caso contrário né E aqui seria o nosso caso sim então vamos lá deixa eu te mostrar como fazer isso aqui se estiver em dia nós devemos pegar a data do pagamento e o método do pagamento Então beleza como que eu vou fazer para pegar a data do pagamento e o método do pagamento usando literalmente a mesma coisa que eu já te ensinei no início desse vídeo Então a gente vai voltar aqui e vai extrair isso aqui ó a data e extrair o método de pagamento como
eu faço isso mesmo processo pessoal botão direito inspecionar ele já cai aqui dentro ele caiu aqui ó na verdade né aqui ele caiu nessa informação Então olha aqui nós temos aqui um ID payment date então eu posso fazer o mesmo processo eu venho aqui e uso a tag Qual que é a tag nesse caso P tag P nós iremos usar o nós iremos usar o atributo id e o valor é payment date ok ele já encontrou Então beleza já tenho aqui né a data de pagamento vamos aqui vou extrair ela aqui agora driver PF Element
by xpath passa aqui dentro de aspas duplas esse xpath e guarda aqui o data pagamento Ok vamos fazer agora o mesmo para o outro botão direito inspecionar então aqui mais uma vez ele caiu em P uma tag P que tem um ID único que é chamado de payment method Então vou só copiar esse payment method aqui ó e colar aqui dentro né porque só mudou isso então eu posso pegar aqui ó copiar voltar no vs code e colocar uma próxima linha como driver PF Element by xpath colar aqui dentro esse expat e guardar aqui como
método pagamento Então olha como que já está aos poucos pessoal Nós estamos montando a nossa automação inclusive está ficando claro para você até aqui pessoal deixa aqui embaixo a sua opinião sobre como que isso aqui tá sendo para você essa experiência de aprender a automatizar processos do zero Então beleza eu já consegui a data pagamento e metodo pagamento só que você vai ver pessoal que não está da forma que nós precisamos ainda tá Por que que não tá porque ele vai te entregar esse bloco inteiro de texto e esse bloco inteiro de texto aqui nós
não queremos isso nós queremos só a parte que nos interessa aqui no caso que no caso da data do pagamento é a data e no caso do método pagamento apenas o método Então vou te mostrar como extrair somente uma parte do texto quando você extrair um bloco inteiro de texto tá como você extrai somente aquilo que você precisa mas antes disso vamos lidar aqui com o caso contrário caso a pessoa esteja em atrasado e não em dia tá então caso contrário ele vai cair nesse próximo bloco aqui caso contrário se estiver atrasado colocar o status
como pendente onde que eu vou colocar na planilha de fechamento eu não tenho essa planilha ainda então vou criar aqui agora eu vou abrir aqui o Library Office calk que é basicamente o Excel gratuito que eu uso que é uma forma de você não ter que pagar uma licença muito alta no Microsoft Office tem o Library Office Você pode baixar ele para usar aqui e plan de forma gratuita Tá eu vou criar aqui uma nova planilha que terá a estrutura que eu preciso que no caso será o quê a mesma da outra né só que
com a coluna adicional vou até copiar essa essas colunas aqui dessa planilha antiga colar aqui dentro e adicionar algum as informações que é o que eu tinha falado para vocês inicialmente então se eu pegar aqui e nesse caso nós teremos que colocar também o status data de pagamento e método pagamento Então vamos colocar aqui status data pagamento e método método pagamento Beleza deixa eu só formatar aqui para ficar igual beleza deixar em também colocar a letra maiúscula aqui para ficar mesmo padrão da outra planilha data pagamento e metodo pagamento beleza Já criei a planilha vou
salvarla agora dentro do meu projeto para que eu possa utilizá-la save as salvar como consulta pagamentos e selecionar o tipo aqui como xlsx que é a planilha basicamente vou chamar ela aqui de planilha fechamento dar um save ou salvar selecionar como é Office mesmo que é o formato que nós queremos posso fechar aqui Minimizar e voltar aqui para a planilha e voltar aqui para o meu para o meu vs code Na verdade eu posso confirmar que ela já está aqui certo então agora eu posso fazer o que aqui inserir ess informações nessa planilha tá então
Caso contrário eu vou colocar o status como pendente Como que eu faço mesmo processo né que eu tinha feito anteriormente para abrir uma planilha então o processo aqui é literalmente o mesmo tá então vamos aqui fazer algo bem parecido aqui embaixo vamos fazer aqui um Open Pie Excel P load load workbook passar aqui o nome dessa planilha deixa eu pegar aqui planilha fechamento pon xlsx fechar aqui vamos colocar aqui dentro vou chamar ela aqui de planilha fechamento e agora eu tenho que confirmar Qual é a página que eu quero acessar deixa eu ver aqui como
que está o nome da primeira página abrir no Explorer Abrir planilha ela está Como deixa eu mostrar aqui para vocês ela está aqui como sheet um certo então sheet um beleza vamos usar esse nome fechar aqui e acessar somente aquela página que nós queremos que é o planilha fechamento indexado de sheet um vou chamar ela de página fechamento e Beleza agora eu posso Ah fazer o quê inserir o uma nova linha ali certo para adicionar essa nova linha é bem simples pessoal você pode vir aqui e fazer o seguinte fazemos aqui um página fechamento ponto
append e que eu passo entre parênteses e depois entre colchetes uma lista de informações que nesse caso serão as informações né pra pessoa que está em atraso eu preciso inicialmente colocar as informações que já estavam na planilha que é o nome valor CPF e vencimento então ven aqui embaixo e puxa as informações nome valor CPF e vencimento agora nós temos as informações adicionais Quais são as informações adicionais vou abrir aqui ó as informações adicionais são status data pagamento e método como nós estamos falando aqui especificamente de contas que estão atrasadas eu não tenho a data
de pagamento e não tenho o método pagamento mas eu tenho o status que eu vou colocar como pendente certo Então como que eu faço isso eu venho aqui e faço o qu o próximo que seria o status eu vou colocar como entre aspas simples pendente e nos próximos aqui eu não vou inserir nada tá vou deixar vazio Porque nós não precisamos de informações nesse caso porém aqui em cima quando está em dia nesse caso sim eu preciso inserir tanto o estatus quanto a data do pagamento e o método do pagamento Então como que eu faço
isso algo parecido eu venho aqui adiciono a nova linha e faço página fechamento ponto append abre fecha parênteses abre fecha colchetes e aqui eu passo novamente o nome valor CPF vencimento porque essas informações não mudam certo o status eu vou colocar em dia o próximo agora seria a data do pagamento e o método do pagamento Então vou te mostrar aqui agora Como que você pode extrair essas informações para ter elas aqui de a forma que você pode inserir na sua lista certo vou colocar um dado fictício aqui por enquanto tá E aqui também para que
nós possamos testar e eu vou apertar F9 aqui nessa linha aqui ó para que nós possamos analisar ela certo vamos usar aqui um F5 para rodar esse código ok ele já abriu a página ele vai inserir agora um CPF e clicar em cons tá a gente tem que dar sorte pro Primeiro que cair aqui né ser um em dia OK caiu em dia a gente deu sorte então agora ele vai cair lá exatamente onde eu pedi Beleza então agora o que aconteceu eu vou apertar F5 aqui F10 na verdade desculpa e aqui dentro de data
pagamento tem as informações que nós queremos eu posso confirmar apertando cont control J para abrir o terminal e aqui dentro eu vou fazer o quê eu vou em debug console para ver dados em tempo real e faço o quê o nome da informação que eu quero está dentro da da variável data pagamento então eu venho aqui e faço data underline pagamento. text dou um enter e aqui ele me retorna todo o texto que está disponível dentro daquela o texto que está disponível dentro daquele elemento como eu quero somente essa parte aqui como que eu faço
isso tem várias estratégias a mais simples é de quebrar isso aqui em vários blocos de texto e extrair somente o último bloco Como que eu faço isso Jonathan eu faço dat pagamento pon text barra split abre e fecha parênteses dou enter e ele já me retorna aqui ó partes Ah o meu texto dividido em blocos basicamente isso aqui é é uma lista de Python na verdade tá e o que você quer é o último bloco que nesse caso é o bloco o qu se eu contar nós temos aqui vários índices tá o índice zero que
é data o índice um que é do o índice dois que é pagamento e o índice trê que é que é literalmente a data então eu quero o quê o índice TRS Como que eu faço isso data pagamento pon text P split abre e fecha parênteses indexado de três quando eu faço isso ele retorna somente aquela data então Olha que legal nós fomos disso aqui para somente isso aqui que é literalmente o que nós queremos tá então como eu sei que esse código tá funcionando eu vou copiar ele tá certinha para cima para ver ele
de novo seleciono ele todo cont control c para copiar eu posso Minimizar essa barra aqui agora e agora que eu posso fazer criar uma nova variável chamada de data pagamento Limpo igual a aquele código que eu criei e agora vou usar essa mesma lógica para conseguir extrair somente o método de pagamento Olha que legal vou apertar F10 ele já rodou então agora eu já consigo acessar essa variável vou apertar cont control J para ver aqui meu terminal vou fazer o mesmo processo método pagamento pon text Dá um enter ele me retornou aqui ó esse bloco
de texto certo esse bloco de texto aqui porém eu quero somente essa parte aqui então vou usar a mesma lógica que é de quebrar isso aqui em blocos então eu faço um método pagamento P text Ops método pagamento pon texto vou clicar aqui ponto split abre fecha parênteses enter e agora el me retorna mesma coisa o meu texto em formato de blocos diferentes basicamente uma lista de textos certo e aqui mais uma vez o índice três é exatamente o método que eu quero saber então eu venho aqui e faço o qu faço a mesma coisa
método P pagamento ponto pon text pon split e abre fcha índice três dou enter e pronto ele me retornou aqui cartão então legal posso pegar esse código aqui certinho para cima e depois seleciono tudo e aperto cont Crol C vou Minimizar e agora eu tenho aqui o quê a data Na verdade o método pagamento Limpo igual a colo aquele código então agora eu já posso usar vou até parar minha automação aqui dá um Stop ao invés de usar esses textos aleatórios eu posso usar literalmente aqui a data de pagamento Limpo data de pagamento limpo vou
apagar isso aqui e o método de pagamento Limpo Então vou apagar isso aqui colar aqui dentro Teoricamente pessoal isso aqui já resolve todos os nossos problemas ele vai permitir que você consulte a página permitir que vocês traz as informações e insira dentro da planilha de fechamento somente aquilo que você quer que você realmente Ah você realmente deve ter tá Então como que eu vou fazer para mostrar para vocês ISO aqui ao vivo como que eu vou fazer eu vou deixar essa automação rodar e nós vamos acompanhar o quê olhando no site Beleza só que antes
de fazer isso pessoal uma coisa que eu esqueci também é o seguinte quando você entra aqui no site deixa eu clicar aqui digita no CPF e aperta consultar ele não apaga tá o CPF aqui então se eu tentar digitar novamente ele vai colocar o quê ele vai colocar um outro CPF aqui na frente então ten Então eu tenho que pedir que minha automação também Apague a informação que está naquele gampo antes de digitar certo o legal que para fazer isso é muito fácil com celenio tá pessoal você vem aqui no seu código e logo antes
dele mandar aqui o Cent kys que é para digitar Como que você pode pedir para ele apagar o que já está escrito ali você vem aqui faz Campo pesquisa pon Clear abre e fecha aparentes Pronto ele já vai apagar certo então é literalmente só isso e nós já podemos testar a automação e ver se ela está funcionando de fato Então vou dar dar aqui um play ele vai abrir aqui o navegador eu vou colocar o navegador menor para vocês conseguirem enxergar aqui então agora eu vou levantar a mão e ele vai começar a fazer as
pesquisas tá pessoal ele vai colocar o primeiro CPF consultar vamos ver se tá tudo certinho quee fez a consulta ele deve anotar a informação Opa tive um erro aqui página de fechamento não está definida Deixa eu só ver o que que eu fiz aqui só um minutinho Ah sim já encontrei o erro pessoal O que aconteceu é que eu tinha aberto a planilha para leitura aqui porém esqueci de fazer isso aqui em cima tá então aqui eu tô tentando inserir informações numa planilha que eu nem abri ainda deixa eu pegar essa linha aqui colocar aqui
em cima para que ele primeiro Abra a planilha né e depois tem gente inserir alguma informação e eu já percebi que também que eu esqueci de salvar as informações Então deixa eu já botar isso aqui agora também que é o página que é seria a planilha fechamento P save e que eu vou salvar né dentro da mesma planilha planilha de fechamento vou pegar essa linha e vou aplicar aqui embaixo também beleza e agora eu vou rodar essa automação para verificar se de fato isso aqui tá tudo funcionando vou dar aqui um Play e vou deixar
ele rodar isso aqui pelo menos algumas automações para que nós possamos verificar se de fato ele tá conseguindo entrar no site consultar o CPF e verificar o status e extrair toda essa informação e botar na planilha de fechamento Então vamos deixar ele fazer algumas consultas aqui já fez uma está atrasado tá fazendo a segunda tá em dia terceira atrasado vou deixar só mais um e a gente já verifica se ele conseguiu de fato colocar os dados na planilha vou deixar mais um aqui para verificar se ele vai conseguir colocar a informação já fez a consulta
vamos agora encerrar a automação e ver se funcionou cont control c para encerrar Vamos abrir aqui abrir a planilha abrir a planilha e olha aí pessoal funcionou ou não funcionou ele colocou literalmente todos os dados perfeitamente aqui Inclusive a data de pagamento meta de pagamento se está pendente ou está em dia isso é ou não é legal demais para você automatizar as coisas se você gostou pessoal dita aqui embaixo vou automatizar tudo e se você quer aprender a Como ganhar dinheiro com isso lembre-se que eu tenho um treinamento chamado mest pythonista o link vai estar
aqui na descrição e eu tenho a Playlist inteira sobre projetos freelancer recomendo que você assista ela aqui agora