WebDriverEventListener FindingElement通过选择器获取

时间:2019-07-03 12:16:12

标签: c# selenium-webdriver

我使用EventFiringWebDriver#FindingElement方法,并希望通过选择器获取By。这有可能吗?

这是我的EventListener

    public class WebDriverEventListener : EventFiringWebDriver
    {

        public WebDriverEventListener(IWebDriver parentDriver) : base(parentDriver)
        {

            ExceptionThrown += (sender, e) =>
            {

            };

            ElementClicked += (sender, e) =>
            {
                var sb = new StringBuilder();
                sb.Append("ClickElement: ").Append(e.Element);
                Trace.WriteLine(sb.ToString());
            };

            FindingElement += (sender, e) =>
            {
                var sb = new StringBuilder();
                sb.Append("Findelement: ").Append(e.Element);
                Trace.WriteLine(sb.ToString());
            };
        }
}  

如果我这样喜欢你,一切都很好。运行测试并按预期方式找到元素。

但是,如果我想从FindingElement中的Element获取TagName,是因为Element为null吗?但是为什么呢?

1 个答案:

答案 0 :(得分:0)

该方法采用FindElementArgs参数,该参数具有采用By选择器的构造函数

https://seleniumhq.github.io/selenium/docs/api/dotnet/html/T_OpenQA_Selenium_By.htm

这又支持TagName方法。

所以肯定有可能。

所以显而易见的问题是页面上的元素吗?