Walisson, assisti este vídeo em 12 de outubro de 2024 (3 anos depois que você o gravou). Apesar de algumas mudanças (interessantes) no Selenium, as ideias gerais do vídeo continuam válidas! Se você vir meu comentário e puder gravar uma versão atualizada do vídeo será fantástico! Muito sucesso a ti, e muito obrigado pelas dicas!
Fiz meu primeiro exemplo com seu ensinamentos professor: from selenium import webdriver from time import sleep from selenium.webdriver.common.keys import Keys driver = webdriver.Firefox() driver.get("www.python.org") sleep(3) elemento = driver.find_element_by_id('id-search-field') elemento.send_keys('data') submit_button = driver.find_element_by_id('submit') submit_button.click () Usei o proprio python. Morri para achar para ele fazer o click no botão já que no seu exemplo não tinha Ckik.😂
Para quem já alterou para o Selenium atual e não conseguiu ver colocar "data" no campo de input, experimente mudar o sleep para o fim do programa e aumente o tempo. No Firefox a tela não fecha até que você mande e dá para ver funcionando. No Chrome a tela fecha rapidamente e dá a impressão de que não colocou o texto no campo de procura.
Passei só pra contribuir com o código, houve uma atualização no selenium e agora o código é escrito dessa forma: elemento = navegador.find_element_by_tag_name('input').send_keys('data')
Pode ser usado importando o By também. Eu sempre busco utilizando Xpath, e o find element by xpath nao busca tudo que eu pedia, daí eu li em alguns blogs pra importar o By do selenium.webdriver.common.by
Mui5o bom o vídeo ! Faz um vídeo de como abrir 2 abas e identificar ID's das abas do Chrome e o comando para alterna-las. (Seria interessante tbm amigo)
top!! no mac nao estava conseguindo colocar o geckodriver na pasta /usr/bin/ pois o mac os restringe a escritura nesse diretorio, nao é possivel nem mudar as permissoes acima do mac os catalina. entao a solucao foi adicionar o caminho dentro da funcao desse jeito: navegador = webdriver.Firefox(executable_path='/Users/giovanni/Downloads/geckodriver')
from selenium.webdriver.chrome.options import Options from selenium import webdriver from selenium.webdriver.common.by import By from time import sleep # Crie o espaço para o detach dentro de uma variável options = Options() options.add_experimental_option("detach", True) # Adicione o parâmetro no código navegador = webdriver.Chrome(options=options) navegador.get('www.youtube.com/') sleep(3) elemento = navegador.find_element(By.TAG_NAME, 'input') elemento.send_keys('web scrapping em python') Pronto, eu tive o mesmo erro mas vi esse metodo em um comentario de outro video, so estou repassando para quem teve o mesmo problema que eu kkkk Explicando: O Detach se nao me engano deixa o navegador aberto mesmo depois do script acabar saca? Ai a pagina nao se fecha sozinha. Explicando: E em relação ao "from selenium.webdriver.common.by import By", Agora para você poder buscar o nome, id, classe ou etc vc precisa importar, eu acho o método anterior muito mais facil, mas agora é assim, dizem que é para deixar o código masi legivel. Abraços amigo (seu comentario é de dois anos atrás mas mesmo assim kkkk)
Parabéns professor. Execlente didática(uma calma..). Mas gostaria de fazer uma observação: se o preço não tiver centavos, do modo como está ele ira pegar os centavos do preço parcelado. solução encontrada por seu aluno : os preços a vista e parcelados estão em div's diferentes, então apliquei o find na div e depois .find no span. é correto ?
muito bom o video, eu vi duas vezes, e fiz tudo o que pede, so que deu este erro. (typeError: 'module' object is not callable ) alguém pode dar um help ?
Mano boa noite, sabe me dizer por que no meu não aparece os metodos do SELENIUM que voce menciona no minuto 16:57? Sendo que ja instalei o selenium atraves do pip, importei pelo comando "from selenium import webdriver" porem so aparece o primeiro metodo (driver.find_element) os demais por Id, class, xpath etc... nao aparecem :(
Boa tarde, meu chrome tem esta versão : Versão 125.0.6422.142 (Versão oficial) 64 bits, mas acusa este erro: File "C:\Users\leonardo.rodriguez\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver emote\errorhandler.py", line 229, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: session deleted because of page crash from unknown error: cannot determine loading status from tab crashed (Session info: chrome=125.0.6422.142), Por favor, preciso de orientação. obrigado
Walisson Silva, você vai continuar com os vídeos de data science ? eu tenho duvidas em como salvar os graficos em pdf, ou como por os codigos na internet para serem analisados por qualquer pessoa.(não me refiro ao github), mas sim um site, por exemplo.
Fala, Bruno! Vou continuar, sim! Inclusive com aquele curso aqui do canal também. Estou começando a conseguir investir um pouco mais aqui no canal e penso também em criar vídeos "soltos" falando sobre tópicos relacionados a Data Science, dando dicas e tirando dúvidas de vocês. Acredito que esses pontos que você colocou se encaixariam perfeitamente! Obrigado pelas sugestões! Já anotei aqui e vou criar vídeos sobre o assunto, beleza? Só para ter mais certeza... Quando você fala em criar um site para expor os códigos você fala de Dashboards com gráficos, tabelas e coisas do tipo? Cara, mais uma vez, muito obrigado!!
Estou usando o google chrome, porem tem uma página web específica que eu não consigo acessar o HTML da página, alguém sabe o que eu devo fazer para conseguir acessar o código do site?
Meu código está dando erro de compatibilidade no ChromeDriver. Mas eu instalei a mesma versão do meu navegador atual. Alguém mais está enfrentando o mesmo problema?
Olá, parabéns! Suas aulas são ótimas! Com o BeautifulSoup estava tudo ok, mas agora com o Selenium o navegador abre e fecha em seguida. Pode me ajudar?
Boa tarde pessoal, estou tentando criar o objeto Chrome() porém está dando erro este "WebDriverException: Message: unknown error: cannot find Chrome binary", alguém já resolveu esse problema?
Walisson, como faço para baixar todos os logs de urna do tse com o selenium? Eu pergunto porque o site do tse tem que ir um por um nos estados, cidades, seções e zonas eleitorais pra baixar através das barras de rolagem nas caixinhas de pesquisa. Como posso automatizar isso? Estou com dificuldade em fazer. Obrigado.
aparece essa msg de erro: "ImportError: cannot import name 'webdriver' from partially initialized module 'selenium' (most likely due to a circular import) (d:\python\selenium.py)"
Fala, Edson! Eu não cheguei a testar no Colab ainda, mas acredito que seja possível, sim. Qualquer biblioteca que você precise utilizar no Colab e ela não esteja instalada, você pode fazer a instalação abrindo uma célula de código e digitando o comando do pip precedido por uma exclamação. Por exemplo, para instalar o selenium, você pode utilizar o comando "!pip install selenium" (sem aspas) e depois é só importar que já deve dar certo. ;)
Tenho uma dúvida. Como saber se podemos fazer a coleta de dados do site ? Eu vi que nem todos aceitam e pode ser visto como uma forma ilegal, então como ter certeza sobre isso. No caso eu quero fazer scraping de um site de vendas de livros mas graças a LGPD eu não sei o que pode acontecer se fizer e não for permitido.
Walisson, bom dia! Primeiramente parabéns pelos videos e Obrigado. Eu usei o Chrome e ele abre após compilar, só que depois de abrir ele fecha sozinho o navegador. Verifiquei a versão e esta tudo ok. Já no Firefox deu certo. Alguma dica?
O meu chrome abre e fecha sozinho quando eu executo o código. Já coloquei na pasta e não resolve o problema. Tem uma maneira de desinstalar o driver pra instalar dnv?
no meu importei o sleep e o tempo que botei, a pagina fica abeta, então deve ser por conta do fim do código, vou testar em um while pra ver se fica aberta
Galera alguem sabe se é possivel fazer assync com Seleniun ? Tenho que fazer webscraping porem preciso de performace pela quantidade de paginas que preciso capturar dados + de 1000 essas paginas estão em react. Pelo que pesquisei é a maneira mais recomendavel é o selenium com python porem gostaria de melhorar a performace porque o tempo de processamento vai para quase 30 minutos. Parabéns pelo canal conteúdo top !!!!
Traceback (most recent call last): File "c:\Projetos\Python\Automacao.py", line 2, in from selenium.webdriver.Chrome.service import service ModuleNotFoundError: No module named 'selenium.webdriver.Chrome' PS C:\Users\Enfotec> você saberia explicar detalhadamente ( de preferencia ) por que ocorre este erro , e claro e óbviamente COMO RESOLVE-LO NA PRÁTICA ?
Infelizmente o conteúdo já está desatualizado por conta da atualização da selenium, não existe mais o .find_element_by_tag_name. Vou buscar uma alternativa
Olá, no meu código o comando navegador.send_keys("msg de teste") não reconhece, os outros comando de abrir link clicar no input consigo normalmente, mas não consigo fazer o selenium digitar nos campos, alguém sabe o motivo ? Minha versão do python é a 3.9.7 e a do selenium 4.1.3
Olá Paulo, provavelmente pq o Selenium não está conseguindo captar o input no Find_element. Dá uma olhada neste site, tem um comentário que explica os novos métodos para cada find element: stackoverflow.com/questions/69875125/find-element-by-commands-are-deprecated-in-selenium
olá... seguindo seu tutorial não foi possivel importar WebDriver... erro sempre, mesmo seguindo todo seu passo a passo. A solução que encontrei foi essa: import selenium from selenium.webdriver import Chrome navegador = Chrome() ótimo vídeo, parabéns :)
Fala, cara! É um pouco complicado te dizer, especificamente, o pode estar causando isso, porque, na verdade, podem ser várias coisas diferentes. De modo geral, o Selenium consegue resolver problemas como esse, sabe? Mas, se você quiser, entra em contato comigo pelo Telegram (@walissonsilva) ou pelo Instagram (@walissonsilvablog) para me passar mais detalhes, porque aí eu posso tentar te ajudar melhor com isso, beleza?
Eu queria fazer isso em comentários do youtube. Criar um código para copiar todos os comentários e todos os nomes das pessoas e organizar em uma tabela. Estou quebrando a cabeça em vários tutoriais mas até agora não consegui.
conseguiu fazer? vi aqui que todos comentários estão dentro de uma div só. aí é pegar essa div e fazer o loop nela. O Xpath da div é: /html/body/ytd-app/div[1]/ytd-page-manager/ytd-watch-flexy/div[5]/div[1]/div/div[2]/ytd-comments/ytd-item-section-renderer/div[3]
Primeiramente, PARABÉNS! Você, como instrutor e seu canal são EXCELENTES! Estamos em 2023. 2 problemas: 1: "find_element_by_tag_name" está não é mais um atributo válido para o Webdriver; 2: Isso não tem haver com seu código. É uma dúvida para a comunidade. O Sellenium, na minha máquina, não funciona com o Chrome. Já instalei e desinstalei TUDO que você possa imaginar. Literalmente. Ele abre a página e, quando termina de carregar, a página do Chrome fecha. Simplesmente! A única coisa que eu não reinstalei foi o Windows. Mas aí já seria demais, né? No Firefox, toda beleza! Alguma sugestão? Já pedi ajuda até ao ChatCPT, para você ter uma ideia. Não encontrei nada que fizesse funcionar em todos os foruns que visitei. Abraços!
@@viniciuspopo1097 Uso outros elementos, como por exemplo: descricao = navegador.find_element(by=By.XPATH, value='//*[@id="title"]/h1/yt-formatted-string') descricao = descricao.text ===> Inspecionar/ Copiar elemento ou XPath. Daí você consegue com um ou com outro.
webdriver.Chrome(executable_path=r" coloca o caminho do chromedriver.exe aqui ") coloca esta linha de código no início do seu código, logo após importar o selenium, coloca este código em uma variável e põe o caminho do chromedriver.exe ali dentro.
Walisson, assisti este vídeo em 12 de outubro de 2024 (3 anos depois que você o gravou). Apesar de algumas mudanças (interessantes) no Selenium, as ideias gerais do vídeo continuam válidas! Se você vir meu comentário e puder gravar uma versão atualizada do vídeo será fantástico! Muito sucesso a ti, e muito obrigado pelas dicas!
Rapaz! Num é que funciona! E de primeira. Alegria de um gol de final de copa do mundo! Parabéns!
Parabéns de verdade pela explicação do passo a passo, nenhum vídeo no youtube foi capaz de mostrar as dependências. Merece meu like !
Já me inscrevi no site
Achei o vídeo por acaso e acabei me inscrevendo no canal. Top demais seu conteúdo. Muito obrigado
Sou iniciante, mas gostei muito da sua explicação! Parabéns.
Parabéns pelo conteúdo! Ansioso pelos próximos vídeos com a integração do Selenium com o Beautiful Soap...
Muito obrigado pelo feedback, Guilherme! Inclusive, esse conteúdo já deve aparecer por aqui até a próxima semana! ;)
Fiz meu primeiro exemplo com seu ensinamentos professor:
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("www.python.org")
sleep(3)
elemento = driver.find_element_by_id('id-search-field')
elemento.send_keys('data')
submit_button = driver.find_element_by_id('submit')
submit_button.click ()
Usei o proprio python.
Morri para achar para ele fazer o click no botão já que no seu exemplo não tinha Ckik.😂
Muito bom seus vídeos, não vejo a hora dos próximos!
Valeu, Eduardo! Em breve, já vou postar os próximos! Agradeço demais pelo apoio!! :)
Muito bom. Parabéns pela didática. Uma das melhores.
Para quem já alterou para o Selenium atual e não conseguiu ver colocar "data" no campo de input, experimente mudar o sleep para o fim do programa e aumente o tempo. No Firefox a tela não fecha até que você mande e dá para ver funcionando. No Chrome a tela fecha rapidamente e dá a impressão de que não colocou o texto no campo de procura.
Maratonando essa playlist maraaaa em maio de 2022
Parabéns pela didática direto ao ponto!
Poxa, que legal, Claudia!! Espero agregar bastante ao seu conhecimento do assunto. Muito obrigado pelo feedback!! 😁
Top!! sempre quis aprender sobre selenium, ótimo vídeo de introdução!
Rapaz.....sem palavras......parabéns!!!!
A melhor explicação de Selenium que já vi 👏👏👏👏
Muito obrigado pelo feedback, Wendel!!
Conteúdo sensacional! Walisson, faz uma playlist sobre ETL em Python.
esse teu conteúdo é sensacional, tu é fera, mano, parabéns
Valeu, Bruno!! Agradeço demais pelo feedback, mano! Sucesso pra você! 🚀
Passei só pra contribuir com o código, houve uma atualização no selenium e agora o código é escrito dessa forma:
elemento = navegador.find_element_by_tag_name('input').send_keys('data')
Pode ser usado importando o By também. Eu sempre busco utilizando Xpath, e o find element by xpath nao busca tudo que eu pedia, daí eu li em alguns blogs pra importar o By do selenium.webdriver.common.by
@@otto_15 já passei a usar o By também!
Mui5o bom o vídeo ! Faz um vídeo de como abrir 2 abas e identificar ID's das abas do Chrome e o comando para alterna-las. (Seria interessante tbm amigo)
Muito bons videos, aguardando ansiosamente o proximo. Forte abraço
top!! no mac nao estava conseguindo colocar o geckodriver na pasta /usr/bin/ pois o mac os restringe a escritura nesse diretorio, nao é possivel nem mudar as permissoes acima do mac os catalina. entao a solucao foi adicionar o caminho dentro da funcao desse jeito: navegador = webdriver.Firefox(executable_path='/Users/giovanni/Downloads/geckodriver')
Parabéns! Faz um vídeo de como transformar os códigos em arquivos executáveis
Opa, pode deixar! Muito em breve, eu devo colocar um vídeo aqui no canal sobre esse assunto. Muito obrigado pela sugestão e pelo feedback! 😉🚀
Muito bom meu caro
show de aula
Muito bom Professor, parabéns mais uma vez.
Help!!
Quando executo por exemplo:
from selenium import webdriver
webdriver.Chrome()
Ele abre e fecha automaticamente.
Alguma ideia ?
up, tbm acontece aqui
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
# Crie o espaço para o detach dentro de uma variável
options = Options()
options.add_experimental_option("detach", True)
# Adicione o parâmetro no código
navegador = webdriver.Chrome(options=options)
navegador.get('www.youtube.com/')
sleep(3)
elemento = navegador.find_element(By.TAG_NAME, 'input')
elemento.send_keys('web scrapping em python')
Pronto, eu tive o mesmo erro mas vi esse metodo em um comentario de outro video, so estou repassando para quem teve o mesmo problema que eu kkkk
Explicando: O Detach se nao me engano deixa o navegador aberto mesmo depois do script acabar saca? Ai a pagina nao se fecha sozinha.
Explicando: E em relação ao "from selenium.webdriver.common.by import By", Agora para você poder buscar o nome, id, classe ou etc vc precisa importar, eu acho o método anterior muito mais facil, mas agora é assim, dizem que é para deixar o código masi legivel. Abraços amigo (seu comentario é de dois anos atrás mas mesmo assim kkkk)
Show!!
Obrigado pelo apoio, Rita!!
Parabéns professor. Execlente didática(uma calma..). Mas gostaria de fazer uma observação: se o preço não tiver centavos, do modo como está ele ira pegar os centavos do preço parcelado. solução encontrada por seu aluno : os preços a vista e parcelados estão em div's diferentes, então apliquei o find na div e depois .find no span. é correto ?
Mais uma excelente aula! Valeu!
Muito obrigado por todos os feedbacks e pelo apoio, Francisco! Bons estudos e sucesso!
Excelente!!!
Obrigado mesmo,man!
Galera, esse conteúdo já está desatualizado.
muito top parabéns pelo vídeo
Obrigado pelo feedback, Anderson!!
MTOOO FODAAAAA
muito bom
muito bom o video, eu vi duas vezes, e fiz tudo o que pede, so que deu este erro. (typeError: 'module' object is not callable ) alguém pode dar um help ?
Muito bom Walisson Silva. Se eu tivesse uma lista de nomes pra escrever e buscar estes nomes eu faria uma lista e faria um for?
quando dei run no código meu navegador abriu mas depois de uns segundos fechou como resolvo, testei no chrome e no edge
tem que importar o Sleep
Mano boa noite, sabe me dizer por que no meu não aparece os metodos do SELENIUM que voce menciona no minuto 16:57? Sendo que ja instalei o selenium atraves do pip, importei pelo comando "from selenium import webdriver" porem so aparece o primeiro metodo (driver.find_element) os demais por Id, class, xpath etc... nao aparecem :(
também estou com essa dúvida!
@@wellingtonrodrigues5430 Consegui resolver, segue o codigo:
elemento = navegador.find_element(By.TAG_NAME, 'input')
Boa tarde, meu chrome tem esta versão : Versão 125.0.6422.142 (Versão oficial) 64 bits, mas acusa este erro: File "C:\Users\leonardo.rodriguez\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver
emote\errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: session deleted because of page crash
from unknown error: cannot determine loading status
from tab crashed
(Session info: chrome=125.0.6422.142), Por favor, preciso de orientação. obrigado
Walisson Silva, você vai continuar com os vídeos de data science ? eu tenho duvidas em como salvar os graficos em pdf, ou como por os codigos na internet para serem analisados por qualquer pessoa.(não me refiro ao github), mas sim um site, por exemplo.
Fala, Bruno! Vou continuar, sim! Inclusive com aquele curso aqui do canal também. Estou começando a conseguir investir um pouco mais aqui no canal e penso também em criar vídeos "soltos" falando sobre tópicos relacionados a Data Science, dando dicas e tirando dúvidas de vocês. Acredito que esses pontos que você colocou se encaixariam perfeitamente! Obrigado pelas sugestões! Já anotei aqui e vou criar vídeos sobre o assunto, beleza?
Só para ter mais certeza... Quando você fala em criar um site para expor os códigos você fala de Dashboards com gráficos, tabelas e coisas do tipo?
Cara, mais uma vez, muito obrigado!!
Olá! A janela do navegador abre e logo em segida fecha... alguém passou por isso?
Boa noite. Há como rodar o Selenium no Colab?
top demaixxxxx!!
Estou usando o google chrome, porem tem uma página web específica que eu não consigo acessar o HTML da página, alguém sabe o que eu devo fazer para conseguir acessar o código do site?
o metodo by não funciona, pode me ajudar?
como faz para digitar listas externas? exemplo, uma lista com nomes, quero que o campo de input pegue uma lista interna e digite um nome após o outro
Meu código está dando erro de compatibilidade no ChromeDriver. Mas eu instalei a mesma versão do meu navegador atual. Alguém mais está enfrentando o mesmo problema?
Olá, parabéns!
Suas aulas são ótimas!
Com o BeautifulSoup estava tudo ok, mas agora com o Selenium o navegador abre e fecha em seguida.
Pode me ajudar?
Esqueci de mencionar que esse problema só acontece quando uso o Vscode. No Jupiter funciona normal
Eu tive o mesmo problema com o Selenium.
@@pedroalves7290 Mas conseguiu resolver?
Boa tarde pessoal, estou tentando criar o objeto Chrome() porém está dando erro este "WebDriverException: Message: unknown error: cannot find Chrome binary", alguém já resolveu esse problema?
Walisson, como faço para baixar todos os logs de urna do tse com o selenium? Eu pergunto porque o site do tse tem que ir um por um nos estados, cidades, seções e zonas eleitorais pra baixar através das barras de rolagem nas caixinhas de pesquisa. Como posso automatizar isso? Estou com dificuldade em fazer. Obrigado.
aparece essa msg de erro:
"ImportError: cannot import name 'webdriver' from partially initialized module 'selenium' (most likely due to a circular import) (d:\python\selenium.py)"
Fala, cara! Você colocou o seu arquivo com o nome selenium.py? Se sim, pode ser isso.
Meu deu esse erro e realmente era o nome do arquivo
@@felipe86ata Boa, cara!
Hoje é 13 de outubro de 2024, estou tentando fazer isso desde ontem mas não consigo.
Olá, é possivel usar o Selenium no Google Colaboraty? para não ter que fazer a instalação da biblioteca.
Fala, Edson! Eu não cheguei a testar no Colab ainda, mas acredito que seja possível, sim. Qualquer biblioteca que você precise utilizar no Colab e ela não esteja instalada, você pode fazer a instalação abrindo uma célula de código e digitando o comando do pip precedido por uma exclamação. Por exemplo, para instalar o selenium, você pode utilizar o comando "!pip install selenium" (sem aspas) e depois é só importar que já deve dar certo. ;)
@@WalissonSilva Testei aqui, algumas coisa funciona, mais a parte de abrir o navegador não funcionou.
qual linux voce me recomeda pra ser meu primeiro?
e pra se ter em conjunto com o windows
o comando find_elements_by_tag_name não funciona aqui. O que devo fazer?
Pelo visto o selenium sofreu alguma atualização, estou tentando achar a solução para isso
Invés de usar:
find_element_by_tag_name.
use:
find_element(by='tag_name', value='input')
@@caradepacoca2887 Não está funcionando mais dessa forma
Preciso de ajuda
@@danielvicttordev5841 então importa a classe By e faz assim: by=By.TAG_NAME
Tenho uma dúvida. Como saber se podemos fazer a coleta de dados do site ? Eu vi que nem todos aceitam e pode ser visto como uma forma ilegal, então como ter certeza sobre isso. No caso eu quero fazer scraping de um site de vendas de livros mas graças a LGPD eu não sei o que pode acontecer se fizer e não for permitido.
Como faço para acessar vários links man? estou usando um for.
Walisson, bom dia!
Primeiramente parabéns pelos videos e Obrigado.
Eu usei o Chrome e ele abre após compilar, só que depois de abrir ele fecha sozinho o navegador.
Verifiquei a versão e esta tudo ok.
Já no Firefox deu certo. Alguma dica?
Tudo joia? Como usar o selenium SEM abrir o navegador E SEM usar o phantom.js?
O find_element não funciona no meu!!!
O meu chrome abre e fecha sozinho quando eu executo o código. Já coloquei na pasta e não resolve o problema. Tem uma maneira de desinstalar o driver pra instalar dnv?
no meu importei o sleep e o tempo que botei, a pagina fica abeta, então deve ser por conta do fim do código, vou testar em um while pra ver se fica aberta
eu uso linux mint estou com google Versão 120.0.6099.71 (Versão oficial) 64 bits não estou achando
No meu sempre que abre o navegador instantaneamente ele fecha.
Ubuntu 22.04.
Alguém já passou por isso?
sim é pq ele termina o código. tenta coloca um print() no final. Acho que assim segura
Galera alguem sabe se é possivel fazer assync com Seleniun ?
Tenho que fazer webscraping porem preciso de performace pela quantidade de paginas que preciso capturar dados + de 1000 essas paginas estão em react.
Pelo que pesquisei é a maneira mais recomendavel é o selenium com python porem gostaria de melhorar a performace porque o tempo de processamento vai para quase 30 minutos.
Parabéns pelo canal conteúdo top !!!!
Traceback (most recent call last):
File "c:\Projetos\Python\Automacao.py", line 2, in
from selenium.webdriver.Chrome.service import service
ModuleNotFoundError: No module named 'selenium.webdriver.Chrome'
PS C:\Users\Enfotec>
você saberia explicar detalhadamente ( de preferencia ) por que ocorre este erro , e claro e óbviamente
COMO RESOLVE-LO NA PRÁTICA ?
eu obtive um erro! o navegador abre, mas fecha logo em seguida
tenho o mesmo problema, mas, ninguem fala sobre o assunto :(
@@TW7DIGITAL eu resolvi trocando do beatiful soup pra o selenium, e colocando um try e um except
@@misrael1312 voce tem o codigo ainda? consegue disponibilizar para nós? :)
@@TW7DIGITAL pior que não man skskskks mas se vc der uma estudada rapida no selenium vc consegue
up
meu esta dando erro na hora de buscar o input
Infelizmente o conteúdo já está desatualizado por conta da atualização da selenium, não existe mais o .find_element_by_tag_name. Vou buscar uma alternativa
quando vou rodar para o codigo abrir o navegador, ele até abre, mas passa alguns segundo o navegador fecha, alguem sabe o pq?
o que eu fiz para corrigir esse erro: driver.quit()
@@guilhermelima-ug2ix n consigo resolver esse erro
Olá, no meu código o comando navegador.send_keys("msg de teste") não reconhece, os outros comando de abrir link clicar no input consigo normalmente, mas não consigo fazer o selenium digitar nos campos, alguém sabe o motivo ? Minha versão do python é a 3.9.7 e a do selenium 4.1.3
Olá Paulo, provavelmente pq o Selenium não está conseguindo captar o input no Find_element.
Dá uma olhada neste site, tem um comentário que explica os novos métodos para cada find element: stackoverflow.com/questions/69875125/find-element-by-commands-are-deprecated-in-selenium
edit:
*m (no final do link). Não consegui editar kkkkkk
Você responde comentario? Tenho uma duvida super simples.
consegui resolver colocando o caminho:
navegador = webdriver.Chrome(executable_path='D:\Documentos\Python\Web Sraping\Selenium\chromedriver.exe')
Boa! E já fica como dica para outras pessoas. Muito obrigado pela contribuição!
ótimo vídeo! Tive uma erro: Message: invalid argument: File not found : XXXX
(Session info: chrome=93.0.4577.63)
Não apareceu o "find_element_by_tag_name" só apareceu o "find_ element" o que eu faço ??
não apareceu o método find_element. só tem uma tag input nessa página.
@@kleber_bispo apareceu find_element
Aq tb
find_element_by_tag_name, send_keys o selenium ainda está usando esses metodos? o meu não deu certo
Invés de usar:
find_element_by_tag_name.
use:
find_element(by='tag_name', value='input')
olá... seguindo seu tutorial não foi possivel importar WebDriver... erro sempre, mesmo seguindo todo seu passo a passo. A solução que encontrei foi essa:
import selenium
from selenium.webdriver import Chrome
navegador = Chrome()
ótimo vídeo, parabéns :)
Eu tenho um problema é que em alguns sites vou fazer web scrapping deles com o BS4 ou o Scrappy e retornam uma lista vazia alguém sabe o porquê?
pode ser que voce precise colocar df[0], por exemplo.
@@brunochacon2725 como assim não percebi?
@@brunochacon2725 Retornar só o primeiro elemento?
Fala, cara! É um pouco complicado te dizer, especificamente, o pode estar causando isso, porque, na verdade, podem ser várias coisas diferentes. De modo geral, o Selenium consegue resolver problemas como esse, sabe?
Mas, se você quiser, entra em contato comigo pelo Telegram (@walissonsilva) ou pelo Instagram (@walissonsilvablog) para me passar mais detalhes, porque aí eu posso tentar te ajudar melhor com isso, beleza?
@@WalissonSilva ok obrigado
Eu queria fazer isso em comentários do youtube. Criar um código para copiar todos os comentários e todos os nomes das pessoas e organizar em uma tabela. Estou quebrando a cabeça em vários tutoriais mas até agora não consegui.
conseguiu fazer? vi aqui que todos comentários estão dentro de uma div só. aí é pegar essa div e fazer o loop nela. O Xpath da div é: /html/body/ytd-app/div[1]/ytd-page-manager/ytd-watch-flexy/div[5]/div[1]/div/div[2]/ytd-comments/ytd-item-section-renderer/div[3]
@@kleber_bispo top, vou tentar usando esse xpath.
@@kleber_bispo po, algum de voces sabe como resolvo o problema de q a funcao find_elements_by algo nao veio no meu, so a find_elements
fiz no meu pc e qunado ele abre, da menos de 1 segundo e fecha... estranho
up
O meu também tá assim
Primeiramente, PARABÉNS! Você, como instrutor e seu canal são EXCELENTES!
Estamos em 2023. 2 problemas:
1: "find_element_by_tag_name" está não é mais um atributo válido para o Webdriver;
2: Isso não tem haver com seu código. É uma dúvida para a comunidade. O Sellenium, na minha máquina, não funciona com o Chrome. Já instalei e desinstalei TUDO que você possa imaginar. Literalmente. Ele abre a página e, quando termina de carregar, a página do Chrome fecha. Simplesmente! A única coisa que eu não reinstalei foi o Windows. Mas aí já seria demais, né? No Firefox, toda beleza! Alguma sugestão? Já pedi ajuda até ao ChatCPT, para você ter uma ideia. Não encontrei nada que fizesse funcionar em todos os foruns que visitei. Abraços!
conseguiu resolver o problema?
@@viniciuspopo1097 Uso outros elementos, como por exemplo: descricao = navegador.find_element(by=By.XPATH, value='//*[@id="title"]/h1/yt-formatted-string')
descricao = descricao.text ===> Inspecionar/ Copiar elemento ou XPath. Daí você consegue com um ou com outro.
Por favor me ajuda!!
Preciso clicar no seguinte elemento
Export
como faço isso com o selenium python
Frustração de ter tentado a tarde toda instalar e executar o Selenium...
webdriver.Chrome(executable_path=r" coloca o caminho do chromedriver.exe aqui ") coloca esta linha de código no início do seu código, logo após importar o selenium, coloca este código em uma variável e põe o caminho do chromedriver.exe ali dentro.
Valeu mano, tenho 15 anos e tou fazendo um worm em python, bora enviar QR Code pra email, skype e discord!
Muito bom!