1
resposta

[Bug] Quero pegar um texto da web mas não estou conseguindo!!!

Estou pragramando em python no jupter. Quero pegar o nome do arquivo que foi feito no download mas, não estou conseguindo com ".get_atribute

Esse é código que extou usando

#abrir e imortar dowload de excel

    #abrir pagina de downloads
navegador.get("chrome://downloads/")

    #copiar extenção do arquei
nome_arquivo = navegador.find_element(By.XPATH,'/html/body/downloads-manager//div[2]/iron-list/downloads-item//div[2]/div[2]/div[1]/a').get_attribute("text_length")


print(nome_arquivo)

Essa é a menssagem de erro: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Esse é o site, que é o download do google, quero pegar o nome do arquivo que muda a cada download para abrir no jupyter:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oii, Kim! Tudo bem?

Peço desculpas pela demora para te responder.

Parabéns por estar colocando em prática os conhecimentos e indo além do curso!

Obrigada por disponibilizar um trecho do código, por ele pude perceber que você está tentando obter o atributo text_length do elemento que contém o nome do arquivo. Porém, o atributo correto para obter o texto de um elemento é text e não text_length. Veja o exemplo de como ficaria a linha do código:

nome_arquivo = navegador.find_element(By.XPATH,'/html/body/downloads-manager//div[2]/iron-list/downloads-item//div[2]/div[2]/div[1]/a').get_attribute("text")

É importante mencionar que o .get_attribute retorna o valor do atributo especificado. No seu caso, você não precisa utilizar esse método, pois você quer obter o texto do elemento, e não um atributo específico. O que pode deixar o seu código ainda mais simples:

nome_arquivo = navegador.find_element(By.XPATH,'/html/body/downloads-manager//div[2]/iron-list/downloads-item//div[2]/div[2]/div[1]/a').text

Sendo assim, a variável nome_arquivo irá conter o texto do elemento que representa o nome do arquivo baixado.

Como é um projeto externo ao curso, eu não tenho acesso ao contexto do código em sua totalidade. E com isso consigo apenas te dar o direcionamento do que você apresentou.

Espero que as recomendações te ajude e sejam um bom ponto de partida para deixar o seu código como desejado.

Bons estudos, Kim!