我想为selenium2 PageFactory
添加一项功能。我想要的是FindsByAttribute
与SelectedElement
兼容。
我发现如果我将SelectElement
类型的属性添加到IWrapsElement
并在ProxiedWebElementInterceptor
中实现它的问题。当调用该字段的方法SetValue
时,他说“类型为'Castle.Proxies.INewsWrapsElementProxy'的对象无法转换为'OpenQA.Selenium.Support.UI.SelectElement'类型。”
有人可以解释一下城堡代理的机制,它会返回所需的价值吗?
答案 0 :(得分:1)
试试这个
// Presumed to be in Page class
[FindsBy(How = How.Id, Using = "ButtonId")]
public IWebElement submitButton { get; set; }
// Presumed to be in Helpers class
public void ScrollToElementOnPage(IWrapsElement element)
{
var js = driver as IJavaScriptExecutor;
return js.ExecuteScript("arguments[0].scrollIntoView(true);",element.WrappedElement);
}
Helpers _helpers = new Helpers();
Page _page = new Page();
_helpers.ScrollToElementOnPage((IWrapsElement)_page.submitButton);