I tried to use this script to get the pins that are not in a folder on my Pinterest profile and put them in a folder, because there are SO MANY. But it doesn't find the buttons and it's causing other problems. The code was written by AI because I just want to solve this problem. from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time # Configuração do WebDriver chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--start-maximized") # Maximizar a janela do navegador driver = webdriver.Chrome(options=chrome_options) # Seu login do Pinterest (defina as variáveis diretamente aqui) EMAIL = "email" # Substitua pelo seu e-mail SENHA = "senha" # Substitua pela sua senha USUARIO = "user # Substitua pelo seu nome de usuário no Pinterest PASTA_DESTINO = "pastaa" # Nome da pasta de destino para onde os pins serão movidos def login_pinterest(): """Faz login no Pinterest""" driver.get("https://www.pinterest.com/login/") time.sleep(3) # Espera o tempo necessário para carregar a página # Preenche os campos de login email_input = driver.find_element(By.NAME, "id") senha_input = driver.find_element(By.NAME, "password") email_input.send_keys(EMAIL) senha_input.send_keys(SENHA) senha_input.send_keys(Keys.RETURN) time.sleep(5) # Aguarde o login ser processado def organizar_pins(): """Organiza os pins que estão sem pasta para a pasta 'Organizar'""" driver.get(f"https://www.pinterest.com/{USUARIO}/") # Acessa a página de pins salvos time.sleep(5) # Aguarda o carregamento dos pins print(" Aguardando você clicar no botão 'Organizar'...") # Espera até que você tenha clicado no botão 'Organizar' manualmente while True: try: # Verifica se a tela de organização foi aberta organizar_btn = driver.find_element(By.XPATH, "//button[contains(text(), 'Avançar')]") print(" Tela de organização detectada! Continuando o processo...") break # Se o botão 'Avançar' aparecer, o processo continua except Exception as e: # Continua esperando até que o botão de 'Avançar' apareça time.sleep(1) # Aguardar os pins sem pasta carregarem time.sleep(3) # Aguarda mais um tempo caso necessário para carregar os pins # Encontrar todos os pins na página pins = driver.find_elements(By.XPATH, "//div[@data-test-id='pin']") print(f" Encontrados {len(pins)} pins para organizar!") for pin in pins: try: # Verifica se o pin está sem pasta if not pin.find_elements(By.XPATH, ".//div[contains(@aria-label, 'Em uma pasta')]"): pin.click() # Clica no pin print(" Pin clicado!") time.sleep(2) # Espera entre cliques else: print(" Pin já está em uma pasta. Pulando...") except Exception as e: print(f"⚠️ Erro ao clicar em um pin: {e}") continue # Depois de todos os pins clicados, tenta clicar em "Avançar" try: # Aguardar até o botão "Avançar" estar disponível avançar_btn = WebDriverWait(driver, 20).until( EC.element_to_be_clickable((By.XPATH, "//button[contains(text(), 'Avançar')]")) ) avançar_btn.click() print(" Clicado no botão 'Avançar'!") except Exception as e: print(f"⚠️ Erro ao clicar no botão 'Avançar': {e}") time.sleep(2) # Espera o carregamento da tela de seleção de pasta # Seleciona a pasta "Organizar" try: destino_pasta = driver.find_element(By.XPATH, f"//div[contains(text(), '{PASTA_DESTINO}')]") destino_pasta.click() print(f" Pasta '{PASTA_DESTINO}' selecionada!") except Exception as e: print(f"⚠️ Erro ao selecionar a pasta: {e}") # Clica no botão 'Salvar' try: salvar_btn = driver.find_element(By.XPATH, "//button[contains(text(), 'Salvar')]") salvar_btn.click() print("✅ Pins movidos para a pasta 'Organizar'!") except Exception as e: print(f"⚠️ Erro ao clicar no botão 'Salvar': {e}") # Executa o processo login_pinterest() organizar_pins() # Fecha o navegador driver.quit() Continue reading...