estava conseguindo resolver bem uma atividade mas fiquei preso com a parte de preço do produto, coloco a tag e a classe corretamente porem, na hora que tento fazer uma lista os valores ficam desproporcionais
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
# Inicializar o Chrome
driver = webdriver.Chrome()
# Abrir o Mercado Livre
driver.get("https://www.mercadolivre.com.br")
# Encontrar o campo de busca pelo ID e inserir o termo de pesquisa "notebook"
campo_pesquisa = driver.find_element(By.ID, "cb1-edit")
campo_pesquisa.send_keys("notebook")
campo_pesquisa.send_keys(Keys.RETURN)
# Aguardar o carregamento
time.sleep(4)
# Obter e imprimir os títulos dos produtos encontrados
produtos = driver.find_elements(By.CLASS_NAME, "ui-search-item__title")
precos = driver.find_elements(By.CLASS_NAME, "andes-money-amount__fraction")
# Verificar se ambos têm o mesmo comprimento
if len(produtos) == len(precos):
# Combinar produtos e preços em uma lista de tuplas
lista_combinada = [(produtos[i].text, precos[i].text) for i in range(len(precos))]
# Imprimir a lista combinada
for produto, preco in lista_combinada:
print(f"Produto: {produto}, Preço: {preco}")
else:
print("As listas de preços e produtos não têm o mesmo comprimento.")
# Encerrar o processo
driver.quit()
na hora da verificacao sempre aparece que os produtos nao tem o mesmo comprimento mas nao consegui resolver
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.
O problema pode estar ocorrendo porque você está verificando o comprimento das listas de preços e produtos separadamente. Embora ambas as listas devam estar sincronizadas (cada produto tem um preço correspondente), o comprimento pode ser diferente se houver algum atraso no carregamento da página ou se houver algum elemento invisível que está sendo capturado.
Tente isso
# Verificar se ambos têm o mesmo comprimento
if len(produtos) == len(precos):
# Combinar produtos e preços em uma lista de tuplas
lista_combinada = []
for i in range(len(produtos)):
# Verificar se o preço está disponível para o produto
if i < len(precos):
lista_combinada.append((produtos[i].text, precos[i].text))
else:
# Se não houver preço disponível, adicione None como preço
lista_combinada.append((produtos[i].text, None))
# Imprimir a lista combinada
for produto, preco in lista_combinada:
print(f"Produto: {produto}, Preço: {preco}")
else:
print("As listas de preços e produtos não têm o mesmo comprimento.")
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.