我有一个外部函数:
public int SetHeight(IWebElement column)
{
ExtendedElement.Get(column).Click();
}
在调用中接收到的column
参数已经是具体类型ExtendedElement
,但由于它接受任何IWebElement
,我需要那个Get
方法。
这里是ExtendedElement
的重要部分:
public class ExtendedElement : IWebElement
{
private IWebElement _Element { get; set; }
private ExtendedElement() {}
public static ExtendedElement Get(IWebElement element)
{
return new ExtendedElement()
{
_Element = (RemoteWebElement)element
};
}
public static explicit operator RemoteWebElement(ExtendedElement element)
{
return (RemoteWebElement)element._Element;
}
// other impmlementations
}
如何编写从Microsoft读取的转换?
但是由于某些原因,当运行代码时,我会收到异常:
System.InvalidCastException:无法将类型为“Core.Helper.ExtendedElement”的对象强制转换为类型“OpenQA.Selenium.Remote.RemoteWebElement”。
那么,为什么会这样呢?如果我过于复杂并需要更改设计 - 应该怎么做?
_Element
的类型应该是RemoteWebElement
而不是IWebElement
? - Evk