fala impressionador no vídeo de hoje eu quero ensinar vocês a usarem o debugar de forma bem simples bem direto ao ponto do vs code para te ajudar a debugar os seus códigos em Python vamos entender como é que isso funciona e essa ferramenta é muito boa uma ferramenta que você tem que saber para usar isso dentro dos seus projetos que vai te ajudar muito vamos [Música] lá bom galera se você gostou da ideia do vídeo já deixa seu like se inscreve no canal e esse código que você tá vendo aqui você pode fazer o download dele tá tem o arquivo aqui na descrição mas ele é o código resultado de uma aula que a gente gravou aqui no canal que é uma aula de celenio onde eu passo sobre as principais ferramentas de celenio que é uma automação do celenio então se você quiser essa aula também vai est aqui disponível na descrição caso você queira assistir mas vamos lá essencialmente o que que eu quero mostrar para vocês aqui quando você tá rodando código Principalmente um código por exemplo grande com várias coisas em alguns momentos Você pode ter bugs no seu código e você normalmente acaba tendo que rodar o seu código inteiro para identificar se tem bug para identificar se as variáveis estão com os valores corretos e tudo mais só que dentro do V code você tem uma ferramenta que não sei se já reparou tem um quarto botão aqui ó tem Run e debug tá vendo esse botãozinho aqui de Run e debug ele permite você debugar o seu código E como que você faz para debugar o seu código tem duas opções você pode clicar aqui direto clicar em Run debug ou você pode clicar aqui na hora do Play na setinha e clica aqui ó Python debugger debug Python file você pode tem outras formas ainda você pode pesquisar e tal vsc sempre tem mais uma forma de fazer uma coisa mas essas são as duas essenciais então eu vou clicar aqui no botãozinho Running debug e eu vou clicar aqui em Running debug o que que vai acontecer se só clicar aqui no do jeito que ele tá o código e o código todo esver funcionando você vai rodar o código e ele vai executar o seu código todo pode ser galera eu vou até pausar ele aqui para vocês Pode ser que na hora de você executar o código aqui tudo a primeira vez que você rodou o debugar Pode ser que ele Pergunte para você o que que você quer debugar né então pode ser que ele chegue para você e pergunte assim ah você quer debugar esse arquivo Você quer debugar um módulo Você quer debugar um arquivo Flash um arquivo Jungle e tudo mais tem várias adaptações que você pode fazer eu vou falar a forma mais direta que você debugar um arquivo de Python Então se quando você clicar aqui a primeira vez e for rodar para você o debug ele aparec as opções seleciona a opção que vai est escrito debug Python file alguma coisa aparecer com isso que é o arquivo que a gente tá disponibilizando aqui para vocês para vocês poderem debugar beleza e aí quando você clicar aqui em rodar o que que vai acontecer ele vai abrir aqui em cima uns controles para você esse nosso arquivo como ele não tem nenhum erro ele tá simplesmente rodando agora tá por trás dos panos aqui ele tá rodando essa automação Então vou até mostrar para vocês aqui eu vou trazer aqui pra tela para vocês verem ele tá rodando essa automação toda aqui ó tá vendo eu quero te mostrar el tá fazendo um monte de coisa aqui automaticamente tá vendo e não vai acontecer nenhum erro porque o meu código lá Tá todo certo né mas eu fechei ele de propósito por quê Porque se quando você rodar no modo debugar ele der algum erro ele parar em algum lugar de erro Olha o que que vai acontecer ele vai marcar o lugar do erro Então eu fechei ele no meio da execução justamente para ele causar aqui uma mensagem de erro e ele causou aqui essa mensagem de erro então o que que ele vai fazer ele vai dizer para você aqui ó em vermelhão o erro vai sinalizar a linha que tá dando o erro e qual o cara que tá dando erro tá vendo ele ele tá dando erro nesse espera aqui nesse comando que você executou aqui nessa linha tá vendo Então é aqui não é aqui não é aqui ele tá dando erro nesse cara daqui Pode ser que o motivo dele dar erro nesse cara daqui Seja algum parâmetro que você passou para ele mas é esse cara aqui que tá dando erro ele vai dizer aqui o erro e o mais legal de tudo olha aqui a janelinha aqui do lado aqui do lado você consegue ver tudo que você tá usando no seu projeto Então você consegue ver olha nesse momento quando eu cheguei nessa linha de código aqui a variável link ela tinha esse valor aqui #treinamentos pcom a variável navegador ela era um objeto do Selenium e dentro da variável navegador você tem olha lá ele mostra para você também para cada variável que ele tem salva ali para cada módulo que você tem o módulo time o módulo web driver que são bibliotecas do Python botão é uma variável botão assinatura é uma variável botão verde é uma variável link é uma variável para cada coisa dessa ele mostra quais são os métodos que você pode aplicar nela Então por exemplo vamos pegar um exemplo aqui ó a o botão o botão verde é o quê o botão verde ele é um elemento da minha tela que foi selecionado pelo Selenium tá então o Selenium ele é uma ferramenta de automação web então ele automatiza processos na internet e dentro dele eu criei aqui a variável botão verde que nada mais é do que um botão que existe dentro da tela mesmo tá então é um botão imagina um botão verde de um site esse eu criei essa variável como sendo botão verde esse botão verde do site ele é um elemento do Selenium ele é um objeto do cenho esse botão verde você pode fazer várias coisas com ele então quando eu abro aqui o botão verde ele diz aqui as informações dele esse botão verde tem um ID ele tem um accessible name ele tem uma localização ele tem tá vendo ele tem várias informações dele ele tem um tamanho ele tem um tag name ele tem um um texto ele tem um monte de informações dentro dele além dessas informações se você abrir aqui ó function variables ele diz o que que você pode fazer com esse botão esse botão ele tem o método Clear ele tem o método Click ele tem o método find elements ele tem o método get attribute ele tem o método is display is enable e select então todos aqui são os métodos que você pode consultar na documentação mesmo do Selenium de quando você seleciona um elemento Quais são as coisas que tem dentro dele mas se você não quiser consultar na documentação ou ver se esse cara daqui tá com o método que você tá usando é o método que existe mesmo dentro dele você pode usar o debugar e visualizar aqui olha eu queria clicar no botão verde tá vendo botão eu depois executei aqui ó botão verde pon Click o botão verde pon Click é um método tá vendo ó clique que existe dentro do botão verde ele fica dentro de function variables tá vendo Então você consegue ver todas as informações dele e você consegue ver também as function variables que são justamente as os métodos que você pode aplicar em cima desse elemento daqui e outra coisa legal também que é o seguinte por exemplo se eu quiser aqui agora nesse momento vamos continuar debugando aqui então agora ele deu erro aqui aí você pode corrigir o erro e pausar o seu código para rodar de novo se você quiser pausar o debugar sair do debugar Você vai clicar no stop se você corrigir o seu erro e quer rodar ele de novo ainda em modo debugar você pode clicar no botão Restart que ele simplesmente vai começar o seu código todo de novo mas ainda em modo debugar se você clicar no stop eu vou clicar aqui ó ele vai sair do modo debugar tá vendo beleza aí o que que eu vou fazer agora agora a gente vai criar um Break Point o que que é um Break Point o Break Point nada mais é do que uma bolinha vermelha tá vendo aqui ó tem os numerozinho aqui da linha do código que você tá criando e eu vou aqui ó do lado nesse primeiro comando aqui aqui ó tô criando o meu navegador e depois de criar o meu navegador eu tô definindo o link que eu quero acessar que é o link #treinamentos pcom e eu tô mandando o meu navegador acessar esse link então essencialmente se ele rodar Esse comando aqui esse comando e esse comando ele vai abrir o navegador e vai acessar esse site que eu pedi que é o #t menos. com OK mas eu crii um Break Point nessa linha O que significa que antes de executar essa linha ele vai pausar o meu código aqui se eu rodar ele em modo debugar Então vou rodar ele em modo debugar Olha só rodei que que vai acontecer ele vai rodar ele vai criar esse meu navegador aqui vai definir a variável link Então olha só vou trazer aqui pra tela ele criou o meu navegador aqui ele definiu a variável link e ele pausou aqui tá vendo que tá selecionado aqui Amarelo ó ele tá pausado aqui e aí você tem as variáveis que você tem até o momento eu tem a variável link e tudo mais e aí o que que você pode fazer aqui de interessante primeiro passo você pode agora executar o seu código linha linha de código então eu posso chegar aqui ó apertar para baixo apertar paraa setinha para baixo ele vai executar essa linha depois executar essa linha depois executar essa linha depois executar essa linha depois executar essa linha depois executar essa linha apertando para baixo ele vai executando assim se eu apertar para cima ele vai voltando o o meu o código beleza e o step over eu vou explicar para vocês o que que é mas essencialmente é se quando você for executar alguma coisa aqui você tá executando uma função que você definiu ele vai você pode entrar na função e ver todos os códigos da função ou sair da definição da função e pular ela é isso que o ST vai fazer mas eu já vou explicar mostrar para vocês na prática como isso vai funcionar vai ser a última coisa que a gente vai falar na aula só para ficar mais claro Além disso ele pausou aqui se eu beleza vi que tá tudo certo quero que ele Rode meu código até o final eu só vou rodar aqui no Play e ele vai continuar rodando meu código até o final ou até o próximo Break Point porque se eu botar um novo Break Point aqui e clicar aqui nesse botãozinho ele vai rodar isso tudo aqui e vai parar no botão verde quer ver ó rodei aqui ele rodou isso tudo ó tá rodando tá rodando tá rodando tá rodando e vai parar agora no botão verde ó parou no botão verde agora e rodou isso tudo tanto se você olhar o site lá ó ele acessou o site da hashtag que era o que ele mandava fazer aqui ou o site da hashtag maximizou a tela tá vendo e encontrou um botão verde então agora já tem o elemento botão verde aqui ó variável botão verde aqui beleza vou pausar aqui pra gente vou restartar aqui o nosso debug ó restarte ele vai rodar vai parar no primeiro Break Point de novo porque eu mantive o Break Point ali então ele vai parar no primeiro Break Point ó parou criou meu navegador aqui do zero e parou ali show de bola agora o que que eu quero mostrar para vocês repar o seguinte se eu quisesse corrigir alguma coisa ou testar um valor diferente por exemplo nesse momento aqui a variavel link #t menos. com aí eu olho para ela e falo pô Será que se eu tivesse tentando acessar o site do Google daria o erro que tá dando aqui vamos testar então eu posso vir aqui na variável e mudar ela posso vir aqui ó clico aqui nela clico aqui ó dou um duplo clique nela e mudo o valor da variável para por exemplo google.
com e dou um enter E aí repara o seguinte a partir de agora nesse debugar nesse momento que eu estou debugando a minha variável link se tornou google. com eu não editei ela aqui eu tô só usando o debugar para testar se eu botasse um valor diferente aqui o que que aconteceria é isso que eu quero saber e repara quando eu executar agora o próximo comando eu vou executar só o próximo comando fico olhando ao invés de acessar o site # tramento ele vai acessar esse site aqui que eu defini a variável link porque ele vai acessar aqui a variável link Olha lá rodei mais um comando Olha o site que ele acessou o Google tá vendo ele acessou o Google agora e aí ele vai executar vai executar vai executar e assim vai tá eu posso como eu falei para vocês voltar mas esse voltar aqui obviamente ia dar um erro agora porque esse voltar aqui é de novo também por caso de funções que a gente já já vai falar com vocês vamos rodar aqui de novo em modo debug para vocês visualizarem t t Ó você meu navegador ali show de bola Beleza então com isso galera a gente pode agora continuar executando o nosso código todo Como eu queria mostrar para vocês ó tá vendo quando eu rodei o debugar de novo isso é legal a gente mudou a variável aqui pro google. com mas quando você rodar o debugar de novo ela vai deixar de ser com porque você mudou ela para google.
com só naquele momento só para testar naquele momento que você estava debugando se você restartar o debugar pausar rodar de novo o que for ele já vai restartar a variável toda porque você aqui tá executando essa linha de comando que muda aquela variável então ele vai mudar o valor da variável diretamente tá E aí de novo você pode executando aqui agora linha linha de código ó executou a próxima linha acessou aqui agora vou mandar ele maximizar a tela vou Executar a próxima linha ó maximizou tá vendo a tela e assim vai pode executar a próxima linha e você pode ir passando assim individualmente tá um outro negócio interessante aqui é o seguinte você pode se você quiser na hora de usar o seu Break Point você definir um Break Point condicional Ou seja eu não quero que ele pare sempre nessa linha de código aqui eu só quero que ele pare nessa linha de código aqui se alguma variável tiver um valor específico Beleza então eu posso chegar aqui nesse Break Point clicar com o botão direito nele aqui tá vendo e quando você clicar com o botão direito nele você pode deletar ele pode tirar ele que seria só clicar de novo aqui que ele some clicou coloca clicou ele some mas se você clicar aqui com o botão direito né se você colocar o Break Point e clicar com o botão direito você vai ver a opção de Edit Break Point e o que que ele vai permitir você fazer você criar um Break Point de expressão Ou seja você pode definir uma regra aqui por exemplo eu quero startar esse Break Point aqui só se o link que eu tiver acessando for e o valor da variável link for sei lá https 2 bar gooogle. com só se for isso daqui tá criei esse breakpoint aqui então se você olhar esse breakpoint é o breakpoint de condição que varel link tem que ser google. com então se eu rodar esse código agora vou criar um Break Point aqui embaixo de novo ó se eu rodar esse código agora em modo debug ele vai passar direto e vai parar no botão verde ó rodei ele em modo debug ó tá aqui minha minha meu site ele tá rodando meu site aqui ó tá vendo colocou maximizou e tal e não pausou antes de entrar no meu site por quê Porque a minha variável link não é globo.
com não é Google google. com né foi a regra que a gente colocou aqui ó google. com agora se eu mudasse aqui a minha variável link para google.
com e simplesmente mandasse ele executar de novo agora ele vai parar no navegador pget porque o meu link é google. com beleza ó então rodei aqui agora ele acessou meu link google. com aqui e teve um errinho só aqui no meu comando é que aqui você tem que botar a comparação deixa eu editar aqui aqui você tem que botar a comparação igual o Python faz a variável link é igual igual a google.
com aí ele vai parar nesse breakpoint aqui então vamos rodar de novo aqui vamos restartar aqui vamos salvar essa expressão salvou link iG igual google. com vamos restartar tã e ele agora vai parar tá vendo parou agora no navegador. get tá lá ó antes de acessar o Google ele parou no navegador.