javascript - 奇怪的 XPath 行为
问题描述
诚然,我在硒或高级网站建设方面没有太多经验,但这让我难倒了好几天
在尝试让 selenium 以 20 种不同的方式找到这个元素后,我最终只使用 chromes 控制台尝试使用 $x() 命令在那里找到它。那是我真正感到困惑的地方,我不知道为什么它前一秒没有找到它,然后在下一秒神奇地找到了它
这是控制台输出的样子:
奇怪的是,即使我单击该元素并重试上述 xpath 命令,它仍然找不到它。我可以让它找到元素的唯一方法是,如果我使用 chrome ctrl + shift + c 命令单击元素并在元素选项卡中查看它。我无法右键单击并检查元素,因为它会显示它自己的菜单,它只能通过该快捷方式或单击激活该命令的按钮来工作。
我有一种感觉,这就是为什么我的 Selenium 脚本找不到该元素,我不知道如何修复它,甚至不知道它为什么会发生。任何可以帮助我解决这个问题的输入将不胜感激,谢谢!
解决方案
我想单击的元素隐藏在三个iFrame 下,这就是它找不到它的原因。切换它们后,脚本正常运行 - 感谢Kajal Kundu提出的要求 HTML 的简单问题,我不知道为什么我没有想到 iframe 可能会搞砸它,直到我开始为他复制代码:)
推荐阅读
- swagger-ui - Swagger UI 禁用试用按钮
- javascript - 显示 none 不能使用 Ajax 动态处理 Id
- google-calendar-api - Google 助理模块不显示我的日历
- python - 强化学习的超参数调整
- java - Java TreeSet:我想按数字进行重复检查并按字符串排序
- html - Ant Design System中如何稍微改变元素的位置?
- react-native - 创建新的 React Native 项目时出错
- python - 使用 PySpark 从 PostgreSQL 读取二进制数据的问题
- c# - 如何防止 UserControl 破坏 ElementName 绑定
- android - 使用 MediaMuxer 将静态图像添加到 MP4 容器