使用Python和Selenium发送Instagram评论

时间:2018-11-27 14:45:00

标签: python html selenium instagram

我想使用带有Selenium的Python提交评论。 Instagram网站中的评论框如下所示:

<textarea aria-label="Añade un comentario..." placeholder="Añade un comentario..." class="Ypffh" autocomplete="off" autocorrect="off" style="height: 18px;"></textarea>

我的Python代码:

coment_box = driver.find_elements_by_css_selector("form textarea") 
coment_box.send_keys("Nice picture")

我尝试使用find_by_xpath("here_xpath"),但它返回一个错误消息:AttributeError:'list'对象没有属性'send_keys'。

3 个答案:

答案 0 :(得分:4)

我点击了两次。有效。我的意思是,您必须输入以下代码:(写两次单击行)

commentArea = driver.find_element_by_class_name('Ypffh')
commentArea.click()
sleep(5)
commentArea = driver.find_element_by_class_name('Ypffh')
commentArea.click()
commentArea.send_keys("YOUR COMMENT HERE...")

答案 1 :(得分:1)

尝试使用以下代码:

from selenium.webdriver.support import ui
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By


comment_box = ui.WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "textarea.Ypffh")))
driver.execute_script("arguments[0].scrollIntoView(true);", comment_box)
comment_box.send_keys("Hello!")

希望对您有帮助!

答案 2 :(得分:1)

我自己遇到了这个问题,尽管这篇文章很老,但我找到了解决方案,所以如果有人被困在这里,这对我有用:

commentArea = driver.find_element_by_class_name('Ypffh')
commentArea.click()
commentArea = driver.find_element_by_class_name('Ypffh')
commentArea.send_keys("YOUR COMMENT HERE...")

我相信这与instagram在单击后如何更新textArea有关,但是此解决方案在搜索和大量试验和错误之后对我有用:)