【发布时间】:2021-02-16 14:45:21
【问题描述】:
请在第一条消息下方查看更新
我正在创建一个机器人来从 WhatsApp Web 发送随机消息。
msg_1 = ["Hey, ", "Hello, "]
print(random.choice(msg_1))
上面的代码可以正常工作,但是当我在 Selenium 中将它与 send_keys 一起使用时,结果只是逗号和空格。
msg_1 = ["Hey, ", "Hello, "]
campo_msg = self.driver.find_element_by_xpath('...')
campo_msg.click() # Tried with a click to see If It solves the problem
campo_msg.send_keys(random.choice(msg_1))
campo_msg 中的结果始终是“,”...如果我只发送带有 send_keys 的字符串,它工作正常,那我做错了什么?
更新
问题是我的列表中包含“á”的单词,所以它只在“á”之后发送以下字符。
按照 PDHide 的建议使用 ActionChains,我现在可以使用 random.choice() 发送正确的字符串。问题是有时它看起来像它正在点击不应该的元素......这是一个例子:
...
campo_msg = self.driver.find_element_by_xpath(
'/html/body/div[1]/div/div/div[4]/div/footer/div[1]/div[2]/div/div[2]')
campo_msg.click()
webdriver.ActionChains(self.driver).send_keys(random.choice(msg_1) + primeiro_nome + '.').perform()
campo_msg.send_keys(Keys.SHIFT + Keys.ENTER)
campo_msg.send_keys(Keys.SHIFT + Keys.ENTER)
webdriver.ActionChains(self.driver).send_keys(random.choice(msg_2) + random.choice(msg_3)
+ random.choice(msg_4)).perform()
# The line above is were the code makes a click on an element that was not even on the code.
它会发送正确的密钥,但随后会点击随机元素。
【问题讨论】:
-
msg= random.choice(msg_1) , campo_msg.send_keys(msg) ?
-
@PDHide 它就像一个魅力谢谢!有什么问题?真的没看懂……
-
如果你使用会发生什么:campo_msg.send_keys((random.choice(msg_1)))
-
您的代码按原样运行
-
@PDHide 抱歉,刚刚找到确切的问题,但仍然不知道如何解决它。在我的语言中,我们使用信号 ´ ^ ~ 所以当字符串有它时,代码只是忽略逗号。我刚刚将项目编码更改为 UFT-8 但仍然无法正常工作。
标签: python selenium random automation whatsapp