python - 无法在 Whatsapp api 中找到发送按钮

标签 python selenium selenium-chromedriver whatsapp

我正在尝试使用 python selenium 通过网络 Whatsapp 发送消息。

这是我的代码。

from selenium import webdriver

import time
browser=webdriver.Chrome()

browser.get("""https://api.whatsapp.com/send?phone=************&text=I'm%20interested%20in%20your%20car%20for%20sale""")
time.sleep(5)
send_btn=browser.find_element_by_id("action-button")
send_btn.click()

this is the send button 它没有点击发送按钮,只是闪烁。请帮忙。

最佳答案

正如您所提到的,您正在使用 XPATH ,我建议您使用 CSS_SELECTOR 而不是 XPATH

这是您可以尝试的代码:

send_button = driver.find_element_by_css_selector('a.button.button--simple.button--primary')
send_button.click()  

更新:
CSS 选择器的性能远优于 Xpath,并且在 Selenium 社区中有详细记录。以下是一些原因,

  1. 每个浏览器中的 Xpath 引擎都不同,因此使它们不一致。

  2. IE 没有原生的 xpath 引擎,因此 selenium 注入(inject)自己的 xpath 引擎以与其 API 兼容。因此,我们失去了使用 WebDriver 本质上提倡的 native 浏览器功能的优势。

有关更多信息,请参阅此SO链接:XPATH VS CSS_SELECTOR

关于python - 无法在 Whatsapp api 中找到发送按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50548531/

相关文章:

selenium - selenium-server-standalone.jar 和 chromedriver 之间的版本兼容性?

python - 对轮廓图中的一个级别使用不同的 cmap/颜色

python - 嵌套字典检查键值

c++ - C/Python API 不执行函数

java - 如何让 Selenium 选择我的 .pac 文件?

selenium - 默认的 chromedriver 命令超时值是多少?

python - 如何读取、清理并将 START 和 END 标记附加到类似 csv 的文件?

java - Log4j 打印到控制台两次

python - 使用执行测试套件的相同 webInstance

java - 预期情况无法解决