这是我的第一篇文章,因此如果我发帖错误,请告诉我 首先,祝大家早/午/晚/晚。
我试图按照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")
我搜索了很多页面以寻求解决方案,但是我尝试的所有操作均导致相同的错误。 请帮忙