在Instagram中向某人发送垃圾邮件。如何在文本框中输入多条信息?

问题描述 投票:0回答:2

我想通过他们的网站在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
2个回答
1
投票

我想输入的内容要么是隐藏的,要么是容量设置为0。

如果容量设置为0,请尝试以下方法

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

然后尝试发送键值

如果是隐性输入,就用这个

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

然后尝试发送键值


0
投票

我尝试了很多东西,但最后,这工作了。

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()
© www.soinside.com 2019 - 2024. All rights reserved.