尝试找到shadow-dom元素返回NULL

时间:2019-04-12 22:28:06

标签: c# selenium element shadow-dom

我正在研究使Web应用程序自动化的过程,并且正在努力寻找影子穹顶内的元素。我的所有研究都指向做正确的事情,我对此感到有些困惑,但是我的代码总是抛出“ System.NullReferenceException”

我创建了一个Selenium扩展名:

using OpenQA.Selenium;
using OpenQA.Selenium.Interactions;
using System;

namespace Name.Extensions
 {
    public static class SeleniumExtension
     {
        public static IWebElement ExpandRootElement(this IWebElement                     element, IWebDriver driver)
        {
            return (IWebElement)((IJavaScriptExecutor)driver)
                .ExecuteScript("return arguments[0].shadowRoot", element);
        }
    }
}

要找到我想要的元素,然后运行:

  IWebElement el =   Driver.Instance.FindElement(By.CssSelector(host)).ExpandRootElement(Driver.Instance)
                      .FindElement(By.CssSelector(element));

使用断点进行调试时,将返回主机,但该元素为NULL。

我正在尝试在两个断言中都使用该元素,并执行诸如滚动到元素之类的操作。

在此先感谢您的任何建议。

0 个答案:

没有答案