首页 > 解决方案 > Selenium:向whatsapp发送消息的路径不起作用

问题描述

昨天我制作了这个代码来通过whatsapp发送消息。但是,我尝试了许多方法将消息放入消息框中,但似乎没有任何效果。每次我收到错误:消息:未知错误:调用函数结果缺少“值”。我尝试了所有的 xpath(类)来插入消息,所以我认为还有其他问题。运行代码时,它会打开 web.whatsapp,选择正确的人,选择消息框,但不会将消息放入其中。或者可能是我的驱动程序和chrome的版本不对应?

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import datetime
import time

# Replace below path with the absolute path
# to chromedriver in your computer
driver = webdriver.Chrome('insert driver_path')
driver.get("https://web.whatsapp.com/")
WebDriverWait(driver, 10)

name = 'Name Person'

text = 'test from bot'

select_contact = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div[role='option'] span[title='{}']".format(name)))).click()
time.sleep(2)

# select_messagebox = driver.find_element_by_css_selector('.pluggable-input-placeholder')
# select_messagebox = driver.find_element_by_class_name('_3FRCZ copyable-text selectable-text')
select_messagebox = driver.find_element_by_xpath('insert x path')
time.sleep(2)
select_messagebox.send_keys(text)

标签: pythonseleniumselenium-webdriverwhatsapp

解决方案


使用下面的 XPath 和 CSS 选择器。

XPath:

//*[@id="main"]//div[@class='_3FRCZ copyable-text selectable-text']

CSS 选择器:

div[class='_3FRCZ copyable-text selectable-text'][data-tab='1']

推荐阅读