从IWebElement获取定位器

时间:2016-11-04 18:02:13

标签: c# selenium

有没有办法将By Locator从当前正在使用的IWebElement中拉出来?

1 个答案:

答案 0 :(得分:0)

我不知道内置的方法可以做到这一点,但这可以使用具有事件成员EventFiringWebDriver的{​​{1}}类来实现。该事件的参数类型为OnFindElementCompleted,它会公开FindElementEventArgs类型的FindMethod成员,为您提供所需的内容 - 您在调用{{1}时使用的By参数}。

订阅By时,您可以捕获FindElement值并将其存储在静态字典中。

奇怪的是OnFindElementCompleted类型没有成员来表示找到的元素,因此要获得相关元素,您将不得不做一些涉及使用FindElementEventArgs.FindMethod FindElementEventArgs成员的hack。 1}}执行相同的搜索。您可能会遇到一些循环事件的问题,您可以通过将Element投射到FindElementEventArgs并搜索FindElementEventArgs.Driver属性来规避这些事件。

抱歉,我无法为您提供更全面的解决方案,我在床上并在手机上进行此操作!