【问题标题】:how to get emoji from whatsapp chat and and send that emoji to sender by python selenium如何从whatsapp聊天中获取表情符号并通过python selenium将该表情符号发送给发件人
【发布时间】:2021-07-11 03:33:17
【问题描述】:

这是代码。 如何从whatsapp聊天中获取表情符号并通过python selenium将该表情符号发送给发件人

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions  


driver = webdriver.Chrome()
driver.get(r'https://web.whatsapp.com/')
searchbox = WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located((By.XPATH, "//div[@id='side']//div//div//label//div//div[@contenteditable='true']")))
searchbox.send_keys('ENTER YOUR CHAT NAME')
searchbox.send_keys(Keys.RETURN)
input("Enter any key :")
chats = driver.find_elements_by_class_name("message-in")
if len(chats) > 6:
    chats = chats[-6:]
for i in range(0, len(chats)): 
    try:           
        chat = chats[i].find_element_by_class_name("_24wtQ") 
        emojiclass = chats[i].find_elements_by_class_name("_3ExzF")
        emoji = driver.find_element_by_css_selector("img").get_attribute("src")
        print(emoji) 
    except Exception as e:
        print(e)

请帮帮我

【问题讨论】:

  • 请帮助我任何人
  • 您是否尝试从那里的传入消息文本中选择表情符号?
  • 是的,是的,我实际上用这种方法来发短信你知道另一种方法吗?有人建议我使用 unicode utf8。但我对此知之甚少。你能帮帮我吗?
  • 感谢您的回复

标签: python selenium selenium-webdriver whatsapp emoji


【解决方案1】:

如果网页元素包含文本、表情符号或文本和表情符号,则那里的网页元素没有变化。
它是一种短信格式。
所以你不能根据元素类名或任何其他属性来区分它是否包含表情符号。
您所能做的就是提取(每条)短信,然后检查该文本字符串是否包含表情符号。
UPD
此 XPath 将为您提供所有传入消息的表情符号:

//div[@class='_1gL0z']//div[contains(@class,'message-in')]//span[@class='gejrB']

这将为您提供对话中最后传入的表情符号:

(//div[@class='_1gL0z']//div[contains(@class,'message-in')]//span[@class='gejrB'])[last()]

如果您必须在包含该表情符号时获取完整的最后一条消息,而不仅仅是表情符号本身,试试这个

(//div[@class='_1gL0z']//div[contains(@class,'message-in')]//span[@class='gejrB'])[last()]/..

或者这个

(//div[@class='_1gL0z']//div[contains(@class,'message-in')]//span[@class='gejrB'])[last()]/../..

【讨论】:

  • 但是当有表情符号或文本+表情符号时会出错,正如我在检查元素中看到的那样,表情符号链接是 .png 格式。我使用此代码从发件人获取最后一条短信'lasttext = chats[i].find_element_by_class_name("_3-8er").text''print(lasttext)'
  • 请帮帮我,你能给我代码来从发件人那里获取最后一条短信,其中有文本+表情符号吗? .这将非常有帮助
  • 兄弟它不工作,你的第一个 xpath 正在打印空列表,第二个、第三个、第四个 xpath 给出 nosuchelementexception
  • from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions
  • 也许您错过了在此之前等待页面加载的时间?
猜你喜欢
  • 2021-10-17
  • 2021-10-16
  • 1970-01-01
  • 2021-01-20
  • 2017-02-13
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
  • 2018-02-14
相关资源
最近更新 更多