如何从IWebElement和By中取回定位器值?

时间:2013-10-19 13:10:47

标签: c# selenium webdriver selenium-webdriver

我想问一些帮助。也许我的问题很愚蠢,但经过几次搜索我不知道答案。可能是因为谷歌的大多数搜索者都想知道与我相反的情况。 :)

我有一个IWebElement,它是使用WebDriver和C#以正常方式创建的。

String locator = "someXpathLocator";    
IWebElement elem = webDriver.FindElement(By.xPath(locator));

稍后,在测试脚本的另一部分,我想使用定位器值并稍微操作它,但在那里我将只有WebElement。由于不可能 - 或者我不知道如何 - 从WebElement对象中取回定位器值,我必须以某种方式提供定位器值。它使代码更加困难。

那么,如果我有一个web元素而不是如何获取定位器值?

1 个答案:

答案 0 :(得分:0)

遗憾的是,你所要求的是不可能的。 Webdriver团队决定将其变为私有变量。

但是,我使用的解决方案是对存储对By的引用的WebElement使用Decorator模式。我不知道C#,所以我无法帮你举个例子,抱歉。