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"}
- 没有 iframe
- 我已经尝试过长时间等待以确保它没有异步
- 网站是 angular.js(我尝试了一些量角器方法但没有成功)
- 我也玩过
ElementIsVisible
, ElementIsClickable
等等
- 我尝试过不同的选择器(id、className、xpath 等)
感谢所有帮助
p.s 无法共享整个 SUT,因为它需要 vpn 访问权限。
问题是通过门户 (Jumpcloud) 登录时打开了一个新选项卡(我没有注意到)所以解决方案只是切换到新的 window 和 _driver.SwitchTo().Window(_driver.WindowHandles[1])
谢谢大家的帮助! :)
首先检查您的 html。我认为 body 标签必须出现在 iframe 中。
如果它存在于 iframe 中,首先切换到 iframe,然后在元素上尝试任何命令(等待或操作)。
我正在使用 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"}
- 没有 iframe
- 我已经尝试过长时间等待以确保它没有异步
- 网站是 angular.js(我尝试了一些量角器方法但没有成功)
- 我也玩过
ElementIsVisible
,ElementIsClickable
等等 - 我尝试过不同的选择器(id、className、xpath 等)
感谢所有帮助
p.s 无法共享整个 SUT,因为它需要 vpn 访问权限。
问题是通过门户 (Jumpcloud) 登录时打开了一个新选项卡(我没有注意到)所以解决方案只是切换到新的 window 和 _driver.SwitchTo().Window(_driver.WindowHandles[1])
谢谢大家的帮助! :)
首先检查您的 html。我认为 body 标签必须出现在 iframe 中。 如果它存在于 iframe 中,首先切换到 iframe,然后在元素上尝试任何命令(等待或操作)。