首页 > 解决方案 > 无法使用 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,但没有运气。

任何帮助将不胜感激。:)

标签: c#selenium-webdriverxpath

解决方案


检查它是否在所有页面的路径下。如果按钮在框架内,那么您需要先切换到框架,然后再寻找元素


推荐阅读