Пытаюсь сделать пост в инсте используя селениум, но при попытке нажатия кнопки Next (фото вставляется нормально) на сайте показывает ошибку: "Something went wrong. Try again" Код:
def post_inst(message, usrname, file_path):
driver.get("https://www.instagram.com/")
load_cookies(driver, "cookies_inst.pkl")
driver.refresh()
time.sleep(5)
# Проверяем, выполнен ли вход
if "login" in driver.current_url:
raise Exception("Не выполнен вход в аккаунт Instagram")
# Нажимаем на кнопку "Создать пост"
post_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "(//div[@class='x1n2onr6'])[9]")))
post_button.click()
# Загружаем изображение
time.sleep(10)
file_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "._ac69")))
file_input.send_keys(file_path)
time.sleep(5)
print(1)
# Переходим к следующему шагу
# next_button = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.xjyslct")))
time.sleep(10)
driver.save_screenshot("picture.png")
next_button = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, "div.xjyslct")))
next_button.click()
time.sleep(10)
driver.save_screenshot("next.png")
print(2)
# Нажимаем "Next" второй раз
next_button = WebDriverWait(driver, 200).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.xjyslct")))
time.sleep(2)
next_button.click()
driver.save_screenshot("next2.png")
print(3)
# Вводим текст
text_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//div[contains(@aria-label, 'Write a caption...')]")))
for char in message:
text_input.send_keys(char)
time.sleep(0.05)
driver.save_screenshot("text.png")
print(4)
# Публикуем пост
share_btn = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//div[text()='Share' and @role='button']")))
share_btn.click()
time.sleep(10)
driver.save_screenshot("posted.png")
print("Пост успешно опубликован!")
# получаем ссылку на пост
driver.get(f"https://www.instagram.com/{usrname}/")
time.sleep(5)
post = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div._ac7v:nth-child(1) > div:nth-child(1) > a:nth-child(1)")))
post.click()
time.sleep(3)
return driver.current_url