Python中的Selenium:如何评论每个Instagram帖子?

Python中的Selenium:如何评论每个Instagram帖子?,python,selenium,browser-automation,Python,Selenium,Browser Automation,我正在尝试制作一个instagram机器人,使用selenium对feed中的每个帖子进行评论。到目前为止,它在一篇帖子上发表了评论,就是这样。似乎每个帖子都有自己的评论区。单个帖子的html如下所示: 我如何让它评论每一篇文章?以下是我到目前为止用于评论的代码 commentSection = ui.WebDriverWait(self.driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "textarea.

我正在尝试制作一个instagram机器人,使用selenium对feed中的每个帖子进行评论。到目前为止,它在一篇帖子上发表了评论,就是这样。似乎每个帖子都有自己的评论区。单个帖子的html如下所示:

我如何让它评论每一篇文章?以下是我到目前为止用于评论的代码

commentSection = ui.WebDriverWait(self.driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "textarea.Ypffh")))
self.driver.execute_script("arguments[0].scrollIntoView(true);", commentSection)
commentSection = ui.WebDriverWait(self.driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "textarea.Ypffh")))
commentSection.send_keys('yo')
self.driver.execute_script("window.scrollBy(0,-200)", "")
self.driver.find_element_by_xpath("//button[@type=\"submit\"]").click()
sleep(2)

这不是selenium中的最佳自动化实践。 出于多种原因,不建议使用WebDriver登录Gmail和Facebook等网站。除了违反这些网站的使用条款(您可能会面临帐户关闭的风险)之外,它的速度慢且不可靠

理想的做法是使用电子邮件提供商提供的API,或者在Facebook的情况下使用开发者工具服务,该服务公开用于创建测试帐户、好友等的API。尽管使用API可能看起来是一项额外的工作,但您将在速度、可靠性和稳定性方面得到回报。API也不太可能更改,而网页和HTML定位器经常更改,需要您更新测试框架

在测试的任何时候使用WebDriver登录到第三方站点都会增加测试失败的风险,因为这会延长测试时间。一般的经验法则是,测试时间越长,越脆弱,越不可靠

符合W3C的WebDriver实现还使用WebDriver属性对navigator对象进行注释,以便可以减轻拒绝服务攻击