python-3.x - 发送whatsapp消息的xpath停止工作,更新的xpath无法识别
问题描述
我一直在使用此代码向 WhatsApp 用户列表发送多条消息,并且它已经工作了一段时间。但它最近停止了工作。
我在发送消息之前收到此错误消息。
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="main"]/footer/div[1]/div[2]/div/div[2]"}
我想更新xpath:
'//*[@id="main"]/footer/div[1]/div[2]/div/div[2]/button/span'
它曾经是
'//*@id="main"]/footer/div[1]/div[2]/div/div[2]'
但我仍然得到同样的错误。
我目前正在尝试使用此代码。
navegador.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div[2]/div/div[2]/button/span').send_keys(Keys.SEND)
关于发生了什么的任何提示?
提前感谢您的帮助。
解决方案
正如我所看到的,您使用的绝对 xpath 受到影响可能是由于 UI 中的任何更改。所以推荐使用Relative(Dynamic) xpath 作为定位器。
您可以使用适用于所有主要浏览器的选择器集线器扩展来获取动态 xpath,您可以参考以下视频: 选择器集线器教程
推荐阅读
- amazon-web-services - EMR 作业长时间运行通知
- sql - 仅使用某些子项填充 JPA 填充子数组(一对多)
- java - 创建 jar 工件后 IntelliJ 没有 Main Mainifest 属性
- java - 获取 IllegalStateException:Session/EntityManager 在 session.evict() 上关闭
- azure - 是否可以通过 PowerShell 命令列出 extensionAttribute1 - extensionAttribute15?
- gradle - Gradle 配置集成
- math - 在计算 rust 时我有 `-inf`:什么是`-inf`?
- angular - OKTA redirect_uri 中的动态 URL
- keras - 将 hyperopt(或 hyperas)与 Keras 和 ImageDataGenerator "flow_from_directory" 一起使用
- android - 将项目迁移到 AndroidX 后,com.paymob.acceptsdk.PayActivity void androidx.appcompat.app.ActionBar 崩溃