gpt4 book ai didi

python - 为什么它不发送_keys到评论框?

转载 作者:太空宇宙 更新时间:2023-11-03 20:56:11 24 4
gpt4 key购买 nike

我正忙于创建一个 Instagram 机器人,它会自动对我的 Instagram feed 中的帖子发表评论。问题是当我尝试将 send_keys 发送到评论框时它不起作用。我设置了登录屏幕来发送 key ,它工作得很好,但为什么这一步不起作用?

这是我的代码:

def send_comment(self):


self.browser.get('https://www.instagram.com/')
actionChain = webdriver.ActionChains(self.browser)

comment = self.browser.find_elements_by_css_selector('form input')[0]

comment.send_keys("Great")
comment.send_keys(Keys.ENTER)
print('sent comment')

这是出现的错误:
selenium.common.exceptions.WebDriverException:消息:无效参数:
未找到文件:太好了
所以我认为它可能正在寻找文件路径。我创建了一个文本文档,其中包含我想要提交的注释,并用括号括起来(标准 Python 格式)。在这种格式中:
comment.send_keys("C:/Users/bbrown/Desktop/comment_doc.txt")

但是,这现在给了我一个不同的错误:
selenium.common.exceptions.WebDriverException:消息:无效参数:
在打开 Instagram 的网络浏览器上,当尝试运行该部分代码时,它会给出一条消息。 “上传失败。只能上传图片。”。所以我不认为这是正确的格式。我哪里出错了?任何帮助都会很棒!!

最佳答案

使用 Selenium 时应该记住一些事情,例如等待一段时间。 Selenium 代码执行速度非常快,但是当您必须在元素上找到网页时,它将取决于互联网和您的硬件的速度。因此,为了避免“No Such Element”错误,您应该包括 sleep ()wait 命令,直到某个元素可见。我更喜欢使用time.sleep(time_amount_in_sec)。如果您正在谈论评论部分,请务必在开始发送 key 之前单击它,以避免错误。描述了一个非常相似的机器人 here

代码片段是:

def comment(i):
list1=["niceeee ","aweeesome ","supeeerr ","cooool "]
list2=[":)", ";)",":o"]

p=random.randint(0,3)
q=random.randint(0,2)

paste=list1[p]+list2[q]

a=br.find_element_by_class_name('_b6i0l').click()
time.sleep(1.85)
b=br.find_element_by_xpath("//*[@class='_bilrf']")
b.send_keys(paste)
b.send_keys(Keys.ENTER)
time.sleep(2)
with open('commented.txt','a') as f:
x=str(i)
f.write('%s\n'%x)

return()

希望对您有所帮助。

注意 - 这是旧的,因此请尝试相应地更改类,因为他们经常更改网站类。

关于python - 为什么它不发送_keys到评论框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56013354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com