-1

我想初始化一些属性,而不是使用它来使用带有 webdriver 页面对象的 C# 查找页面中的元素(在 java 中,以下代码正在工作),但是使用属性containerID显示以下错误:

非静态字段需要对象引用。

这是我的代码:

class DescriptionPopUp
{
        public string containerID { get; private set; }

        [FindsBy(How = How.XPath, Using = String.Format("//div[@id='{0}']//div[@class='close-Button']", containerID))]
        public IWebElement CloseButton { get; set; } 

        public DescriptionPopUp(string containerID)
        {
            this.containerID = containerID;
        }
}

有没有聪明的方法来处理这个问题?

4

1 回答 1

1

不,您不能将变量分配给这样的属性。.NET 中的属性是在编译时评估的,并且在编译时,无法可靠地确定实例变量值。你需要想出另一个解决方案。这是语言的限制,而不是 WebDriver 的限制。

于 2013-11-10T21:59:19.940 回答