【问题标题】:Spam someone in Instagram: How to input multiple messages in the textbox?在 Instagram 中向某人发送垃圾邮件:如何在文本框中输入多条消息?
【发布时间】:2020-05-14 03:53:23
【问题描述】:

我想通过他们的网站在 Instagram 上发送多条消息。到目前为止,我能够登录并打开特定人的 dm。我想选择文本框并发送一些输入。我正在尝试这段代码

messageBox = driver.find_element_by_xpath("//*[@class='                   Igw0E     IwRSH      eGOV_        
vwCYk                                        ItkAi                                                                       
']")
messageBox.click()
messageBox.send_keys("test")
send = driver.find_element_by_xpath("//button[@class='sqdOP yWX7d    y3zKF     ']")
send.click()

提示当前元素(messageBox)不可交互的错误。

我也尝试使用 javascript 输入。

messageBox = driver.find_element_by_xpath("//*[@class='                   Igw0E     IwRSH      eGOV_        
vwCYk                                        ItkAi                                                                       
']")
driver.execute_script("arguments[0].value = 'test';", messageBox)

但是,这并没有输入任何内容,也没有引发错误。 我该怎么办?

【问题讨论】:

    标签: python python-3.x selenium instagram


    【解决方案1】:

    我认为输入隐藏或容量设置为 0

    如果容量设置为 0 试试这个

    JavascriptExecutor js = (JavascriptExecutor) getDriver(); 
    js.executeScript("document.querySelector(\"yourSelector\").style.opacity='1'");
    

    然后尝试 sendKeys 值

    在隐藏输入的情况下使用这个

    document.querySelector(\"yourSelector\").style.display ='active'
    

    然后尝试 sendKeys 值

    【讨论】:

      【解决方案2】:

      我尝试了很多方法,但最后都成功了。

      messageBox = driver.find_element_by_tag_name("textarea")
      messageBox.click()
      messageBox.send_keys("test")
      

      如果有人想知道,这里是完整的代码

      import time
      from selenium import webdriver
      
      driver = webdriver.Chrome()
      driver.get("https://www.instagram.com/")
      
      username = ""        #your username 
      password = ""        #password
      
      time.sleep(2)
      
      #login
      usernamefield = driver.find_element_by_name("username")
      usernamefield.click()
      usernamefield.send_keys(username)
      
      passwordfield = driver.find_element_by_name("password")
      passwordfield.click()
      passwordfield.send_keys(password)
      
      login = driver.find_element_by_xpath("//*[@class='                   Igw0E     IwRSH      eGOV_         _4EzTm                                                                                                              ']")
      login.click()
      
      time.sleep(5)
      
      popup = driver.find_element_by_xpath("//*[@class='aOOlW   HoLwm ']")
      popup.click()
      
      driver.get("https://www.instagram.com/direct/inbox/")
      
      time.sleep(2)
      
      #select the first person on your dm list
      contact = driver.find_element_by_xpath("//*[@class='-qQT3 rOtsg']")
      contact.click()
      
      time.sleep(2)
      
      #send messages in succession
      message = ""                       #your message
      for i in range(500):
          messageBox = driver.find_element_by_tag_name("textarea")
          messageBox.click()
          messageBox.send_keys(message)       
      
          send = driver.find_element_by_xpath("//*[@class='                   Igw0E     IwRSH      eGOV_         _4EzTm                                        JI_ht                                                                      ']")
          send.click()
      

      【讨论】:

        猜你喜欢
        • 2018-05-16
        • 2013-01-07
        • 1970-01-01
        • 2014-09-20
        • 1970-01-01
        • 2020-07-18
        • 1970-01-01
        • 2021-03-05
        • 1970-01-01
        相关资源
        最近更新 更多