gpt4 book ai didi

python - 使用 Selenium Webdriver 检测是否发送了 WhatsApp 消息

转载 作者:行者123 更新时间:2023-12-05 06:06:21 32 4
gpt4 key购买 nike

我正在尝试制作一个程序,如果其他人发送消息,它会在 WhatsApp 上发送消息,但我不知道如何检查何时发送了 WhatsApp 消息。

我不需要阅读消息的内容,但它会是一个奖励

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# messages to send
messages = ["Message 1", "Message 2"]

options = Options()
options.add_argument("--user-data-dir=chrome-data")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.binary_location = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"

driver = webdriver.Chrome(r'C:\ProgramData\chocolatey\lib\chromedriver\tools\chromedriver.exe', options=options)
driver.maximize_window()
driver.get('https://web.whatsapp.com') # must be pre-authenticated

time.sleep(20)

#Recepient Name
driver.find_element_by_xpath("//*[@title='example]").click()

for message in messages:
driver.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div[2]/div/div[2]').send_keys(message)
driver.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div[3]/button/span').click()
time.sleep(5)

任何帮助将不胜感激

最佳答案

当您发送消息时,消息右下角有一个小图标,您可以获取此元素并检查 accessible_name 属性是否为 "Sent"“阅读”“已交付”

例子如下: Icon you need to locate

if ".m4v" in file_path or ".mp4" in file_path or ".3gpp" in file_path or ".mov" in file_path:
is_sent = self.wait_fast.until(ec.visibility_of_element_located((By.CSS_SELECTOR, "#main > div._2gzeB > div > div._33LGR > div._3K4-L > div._2wUmf._1q25n.message-out.focusable-list-item > div > div.Nm1g1._22AX6 > div.copyable-text > div > div._19jKW > div > div > span")))
else:
is_sent = self.wait_fast.until(ec.visibility_of_element_located((By.CSS_SELECTOR, "#main > div._2gzeB > div > div._33LGR > div._3K4-L > div._2wUmf._1q25n.message-out.focusable-list-item > div > div.Nm1g1._22AX6 > div.cm280p3y.f4q7vbcz.ocd2b0bc.folpon7g.aa0kojfi.snweb893.g0rxnol2.jnl3jror.copyable-text > div > div.lrw9n60e.lhggkp7q.fz4q5utg.b9fczbqn > div > div > span")))

我正在使用 CSS_SELECTOR,选择器会根据消息的类型而有所不同,无论是文本、图像还是视频。

找到它后,您可以检查 accessible_name 属性是 "Sent""Read" 还是 "Delivered"

关于python - 使用 Selenium Webdriver 检测是否发送了 WhatsApp 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65751989/

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