c# - 无法使用 ID 在 Selenium 中定位元素。能够在一页上获取元素。但是当我在另一个页面上导航时无法找到
问题描述
我正在尝试使用其 ID 作为定位器来获取按钮元素。我有多个页面,并且所有页面上都存在相同的按钮。使用下面提到的相同代码,我可以在其中 2 个页面上获取元素,但在其他页面上,它返回异常为
“没有这样的元素:无法找到元素:{“method”:“css selector”,“selector”:“#btn-show-support-info”}(会话信息:chrome = 80.0.3987.132)”
代码行:
_btnSupportInfo = new WebDriverWait(
_Driver,
TimeSpan.FromSeconds(Convert.ToInt32(Environment.GetEnvironmentVariable("waitTime"))))
.Until(ExpectedConditions.ElementToBeClickable(By.Id("btn-show-support-info"))
);
完成 XPATH:
/html/body/app-root/main/project-shell/div/div/client-header/div/form/div[6]/support-info/button
我也尝试过使用 xpath,但没有运气。
任何帮助将不胜感激。:)
解决方案
检查它是否在所有页面的路径下。如果按钮在框架内,那么您需要先切换到框架,然后再寻找元素
推荐阅读
- pagespeed - 使用 Facebook Pixel 时提高页面速度
- scala - 如何在 scala 中创建未初始化的 Dataframe 变量。因此可以在 if else 条件下初始化相同的变量
- django - 向所有序列化程序上的所有文本字段添加通用验证
- whatsapp - 是否有一个选项可以影响 WhatsApp 显示文本的方向,而不是根据语言自动影响?
- unity3d - VLG 组件不扩展无论子项的长度如何
- webdav - 在服务器上创建多个磁盘驱动器并分别为这些驱动器配置 webdav 访问
- c# - 无法使 CORS 工作 - .NET 4.7.2。接收 CORS Missig 允许来源
- neo4j - 如何在 neo4j 中为动态数据创建动态节点关系?
- install4j - 使用 rpm --resign 对 install4j rpm 进行签名会导致 rpmReadSignature
- python - 如何在 python 中求解“差分方程”(离散时间)?复杂的根源