Selenium 无法访问网页上的任何元素

Selenium cant access any elements on the webpage

我正在使用 Specflow 和 Nunit 在 C# 中为我正在处理的新项目编写 Selenium 测试,body 中的任何内容都无法在任何地方选择

可以访问正文

WaitUntil(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.CssSelector("body")));

不能以下工作和找不到元素异常:

WaitUntil(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.CssSelector("halo-root")));
WaitUntil(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.CssSelector("halo-entry")));`
WaitUntil(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.CssSelector("halo-navigation-container")));

等等

error: no such element: Unable to locate element: {"method":"css selector","selector":"halo-root"}

感谢所有帮助

p.s 无法共享整个 SUT,因为它需要 vpn 访问权限。

问题是通过门户 (Jumpcloud) 登录时打开了一个新选项卡(我没有注意到)所以解决方案只是切换到新的 window 和 _driver.SwitchTo().Window(_driver.WindowHandles[1])

谢谢大家的帮助! :)

首先检查您的 html。我认为 body 标签必须出现在 iframe 中。 如果它存在于 iframe 中,首先切换到 iframe,然后在元素上尝试任何命令(等待或操作)。