Instagram评论漫游器错误“ ElementNotInteractableException:消息:元素不可交互” Selenium python

时间:2020-05-25 18:10:01

标签: python selenium selenium-webdriver selenium-chromedriver instagram

这是我的第一篇文章,因此如果我发帖错误,请告诉我 首先,祝大家早/午/晚/晚。

我试图按照youtube教程制作一个instagram评论机器人只是为了好玩,但这个机器人并没有走我想要的那么远,所以我一直在使用我学到的东西来扩展该代码,但是麻烦是当我尝试在图片的评论部分中输入消息时,出现此错误:

文件“ C:\ Users \ Emilio Rojas Véliz\ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py”, 第242行,在check_response中

引发exception_class(消息,屏幕,堆栈跟踪)

selenium.common.exceptions.ElementNotInteractableException:消息: 元素不可交互(会话信息:chrome = 83.0.4103.61)

唯一出错的部分是“ send_keys(...)”部分。 这是完整的代码。希望有帮助

from selenium import webdriver
import os
import time
import configparser

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions

class InstagramBot:

    def __init__(self, username, password): 
        self.username = username
        self.password = password
        self.base_url = "https://www.instagram.com"
        self.driver = webdriver.Chrome('chromedriver.exe')  

        self.login()


    def login(self):
        self.driver.get('{}/accounts/login/'.format(self.base_url))  

        enter_username = WebDriverWait(self.driver, 20).until(expected_conditions.presence_of_element_located((By.NAME, 'username')))
        enter_username.send_keys(self.username)

        enter_password = WebDriverWait(self.driver, 20).until(expected_conditions.presence_of_element_located((By.NAME, 'password')))
        enter_password.send_keys(self.password) 

        self.driver.find_elements_by_xpath("//div[contains(text(), 'Iniciar sesión')]")[0].click()  

        time.sleep(5)


    def comment (self, photocode, comentario):
        """
            photocode is the pic page code, here is an example:
            https://www.instagram.com/p/CARP55UHt_Y/   photocode: 'CARP55UHt_Y'

        """
        self.driver.get('{}/p/{}/'.format(self.base_url, photocode))
        self.driver.execute_script("window.scrollBy(0, document.body.scrollHeight)")
        text_box = WebDriverWait(self.driver, 20).until(expected_conditions.presence_of_element_located((By.CLASS_NAME, 'Ypffh')))
        time.sleep(5)
        text_box.send_keys()


        send_message_button = self.driver.find_element_by_xpath("//label[contains(text(), 'Añade un comentario...')]")
        send_message_button.click()



if __name__ == '__main__':

    config_path = './config.ini'
    cparser = configparser.ConfigParser()
    cparser.read(config_path)
    username = cparser['IG_AUTH']['USERNAME']
    password = cparser['IG_AUTH']['PASSWORD']

    ig_bot = InstagramBot(username, password)
    ig_bot.comment('Br8lCuxFHHX',"hello")

我搜索了很多页面以寻求解决方案,但是我尝试的所有操作均导致相同的错误。 请帮忙

0 个答案:

没有答案