我使用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吗?但是为什么呢?
答案 0 :(得分:0)
该方法采用FindElementArgs参数,该参数具有采用By选择器的构造函数
https://seleniumhq.github.io/selenium/docs/api/dotnet/html/T_OpenQA_Selenium_By.htm
这又支持TagName方法。
所以肯定有可能。
所以显而易见的问题是页面上的元素吗?