python - 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)
解决方案
使用下面的 XPath 和 CSS 选择器。
XPath:
//*[@id="main"]//div[@class='_3FRCZ copyable-text selectable-text']
CSS 选择器:
div[class='_3FRCZ copyable-text selectable-text'][data-tab='1']
推荐阅读
- powershell - 在工作流中包含 PowerShell 工作流脚本
- r - 根据两组计算行之间的差异
- reactjs - 仅在输入有效时提交 onBlur 函数
- prestashop - Prestashop 1.6 根本不加载
- wso2 - URL 中的 WSO2 非英文字符
- ios - iOS Web App:使用向后滑动手势返回
- python - 虽然循环步骤不适用于嵌套数组?
- python - Numpy 迭代数组操作
- keras - 在训练 Keras 嵌套模型的过程中会显示哪些损失?
- javascript - Javascript Generator:如何获取一个对象作为参数来生成另一个对象?