代码之家  ›  专栏  ›  技术社区  ›  RobyRew

使用Python Selenium for Telegram Bot发送消息

  •  1
  • RobyRew  · 技术社区  · 2 年前

    我正在尝试使用Selenium和Python库在Telegram上自动发送消息。然而,我总是遇到一个错误。这是我的代码:

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from telebot import TeleBot
    
    bot = TeleBot("your_token_here")
    
    driver = webdriver.Chrome(executable_path="/path/to/chromedriver")
    driver.get("https://web.telegram.org/")
    driver.implicitly_wait(10)
    
    login_button = driver.find_element_by_xpath("//button[text()='Log in']")
    login_button.click()
    
    phone_input = driver.find_element_by_name("phone_number")
    phone_input.send_keys("your_phone_number")
    
    next_button = driver.find_element_by_xpath("//button[text()='Next']")
    next_button.click()
    
    bot.send_message(chat_id="your_chat_id", text="Hello, World!")
    
    driver.quit()
    
    

    我得到以下错误:AttributeError:“TeleBot”对象没有属性“send_message”。我该怎么解决这个问题?

    试过其他图书馆,但我对这方面很陌生,我理解不正确

    1 回复  |  直到 2 年前
        1
  •  0
  •   Laszlo Hunyadi    2 年前

    你不明白的用法 TeleBot 类来自 pyTelegramBotAPI . 看起来您是在将Selenium自动化与机器人发送消息的功能相结合。您应该通过发送消息 pyTelegramBotApi 或 使用在web界面上自动进行用户交互 硒 你 不应该 同时使用两者发送单个消息:

    from telebot import TeleBot
    bot = TeleBot("your_token")
    def send_telegram_message(chat_id, message):
        try:
            bot.send_message(chat_id, message)
            print("Message sent.")
        except Exception as e:
            print(f"Failed to send message: {str(e)}")
    send_telegram_message("your_chat_id", "Hello, World!")