Python 如何解决在Instagram帖子上输入评论的问题
我只是一个编程新手。事实上,我试图在Instagram上自动发表评论。但是,如果我通过chrome/firefox运行下面的代码。它将包含差异错误Python 如何解决在Instagram帖子上输入评论的问题,python,selenium,xpath,Python,Selenium,Xpath,我只是一个编程新手。事实上,我试图在Instagram上自动发表评论。但是,如果我通过chrome/firefox运行下面的代码。它将包含差异错误 import time import random import re from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.common.exceptions import NoSuchElementException
import time
import random
import re
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException, StaleElementReferenceException
from selenium.webdriver.support import ui
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
class Commenter:
def __init__(self, username, password):
self.username = username
self.password = password
self.driver = webdriver.Chrome()
"""closing browser"""
def closeBrowser(self):
self.driver.close()
"""login in to Instagram"""
def login(self):
driver = self.driver
driver.get("https://www.instagram.com/")
time.sleep(2)
login_button = driver.find_element_by_xpath("//a[@href='/accounts/login/?source=auth_switcher']")
login_button.click()
time.sleep(2)
user_name_elem = driver.find_element_by_xpath("//input[@name='username']")
user_name_elem.clear()
user_name_elem.send_keys(self.username)
passworword_elem = driver.find_element_by_xpath("//input[@name='password']")
passworword_elem.clear()
passworword_elem.send_keys(self.password)
passworword_elem.send_keys(Keys.RETURN)
time.sleep(2)
"""write comment in text area using lambda function"""
def write_comment(self, comment_text):
try:
comment_button = lambda: self.driver.find_element_by_link_text('Comment')
comment_button().click()
except NoSuchElementException:
pass
##Add a comment…
try:
comment_box_elem = lambda: self.driver.find_element_by_xpath("//textarea[@aria-label='留言⋯⋯']")
comment_box_elem().send_keys('')
comment_box_elem().clear()
for letter in comment_text:
comment_box_elem().send_keys(letter)
time.sleep((random.randint(1, 7) / 30))
return comment_box_elem
except StaleElementReferenceException and NoSuchElementException as e:
print(e)
return False
`com = Commenter(username='your login', password='your pw')
com.login()
time.sleep(3)
com.driver.get("https://www.instagram.com/p/ByhuUY3nmEJ/")
time.sleep(5)
com.write_comment("123123123123123dd")`
希望我能通过Firefox/chrome在帖子上发表评论
当我使用Firefox时,会出现“键盘Instagram无法访问元素”
当我使用Chrome时,它会发生“
selenium.common.exceptions.elementnotinteractiableexception:Message:element不可交互
(会话信息:chrome=75.0.3770.80)
(驱动程序信息:chromedriver=74.0.3729.6(255758ECCF3D24491B8A1317AA76E1CE10D57E9参考/分支头/3729{29}),平台=Windows NT 6.1.7601 SP1 x8664)”
非常感谢您能为我提供解决方案。我已经搜索了相关的问题,但是我仍然没有找到解决这个问题的方法。谢谢你的帮助。@DebanjanB,我认为这个问题不是重复的,如果可能的话,请删除重复的标签,因为我想发布一个答案。但要解决这个问题,您需要通过单击注释框使其可见(就像在现实生活中一样!)。在注释之前添加
time.sleep(5)
,然后添加comment\u box\u elem()。在注释之后单击()
,我已经测试了上述方法是否有效。首先,您在同一时间讲了很多事情,键盘无法访问元素,ElementNotInteractitableException等。请将其限制为特定问题,并提供足够详细的信息,以确定适当的答案。避免同时问多个不同的问题。请参阅页面以获取澄清此问题的帮助。到现在为止,我已经为每个错误添加了一个重复的目标。如果你还不这样想,请告诉我。@DebanjanB,我认为这个问题不是重复的,如果可能的话,请删除重复的标签,因为我想发布一个答案。但要解决这个问题,您需要通过单击注释框使其可见(就像在现实生活中一样!)。在注释之前添加time.sleep(5)
,然后添加comment\u box\u elem()。在注释之后单击()
,我已经测试了上述方法是否有效。首先,您在同一时间讲了很多事情,键盘无法访问元素,ElementNotInteractitableException等。请将其限制为特定问题,并提供足够详细的信息,以确定适当的答案。避免同时问多个不同的问题。请参阅页面以获取澄清此问题的帮助。到现在为止,我已经为每个错误添加了一个重复的目标。如果你还有其他想法,请告诉我。