Java 如何创建自己的TypefiedElement

Java 如何创建自己的TypefiedElement,java,selenium,webdriver,htmlelements,Java,Selenium,Webdriver,Htmlelements,如何创建自己的TypefiedElement,以便在HtmleElement中使用它 我创建了自己的CustomElement 公共类YesNoRadio扩展了典型删除{ 受保护的YesNoRadio(WebElement wrappedElement){ 超级(包装); } ..//这里还有一些其他方法 } 并尝试使用它,但在初始化元素时在我的基本页上出现异常 PageFactory.initElements(新的HtmlElementDecorator(驱动程序),这个); 我的例外 r

如何创建自己的TypefiedElement,以便在HtmleElement中使用它

我创建了自己的CustomElement

公共类YesNoRadio扩展了典型删除{
受保护的YesNoRadio(WebElement wrappedElement){
超级(包装);
}
..//这里还有一些其他方法
}
并尝试使用它,但在初始化元素时在我的基本页上出现异常

PageFactory.initElements(新的HtmlElementDecorator(驱动程序),这个);
我的例外

ru.yandex.qatools.htmlelements.exceptions.HtmlElementsException:java.lang.NoSuchMethodException:对象com.mycompany.testing.htmlelements.company.element.YesNoRadio上没有此类可访问的构造函数
位于ru.yandex.qatools.htmlelements.loader.decorator.HtmlElementFactory.createTypifiedElementInstance(HtmlElementFactory.java:51)
位于ru.yandex.qatools.htmlelements.loader.decorator.HtmlElementDecorator.decorationityPifiedelement(HtmlElementDecorator.java:102)
位于ru.yandex.qatools.htmlelements.loader.decorator.HtmlElementDecorator.decoration(HtmlElementDecorator.java:66)
位于org.openqa.selenium.support.PageFactory.proxyFields(PageFactory.java:115)
位于org.openqa.selenium.support.PageFactory.initElements(PageFactory.java:107)
位于ru.yandex.qatools.htmlelements.loader.decorator.HtmlElementDecorator.decoratehtmlelementdecorator(HtmlElementDecorator.java:115)
位于ru.yandex.qatools.htmlelements.loader.decorator.HtmlElementDecorator.decoration(HtmlElementDecorator.java:70)
位于org.openqa.selenium.support.PageFactory.proxyFields(PageFactory.java:115)
位于org.openqa.selenium.support.PageFactory.initElements(PageFactory.java:107)
在com.mycompany.testing.cds.PageBase.(PageBase.java:46)
我的错误在哪里?如何纠正我自己的典型错误?
感谢stacktrace提供的,您创建
YesNoRadio
实例的类可能位于不同的包中。因此,您需要将后者的构造函数声明为
public

public YesNoRadio(WebElement wrappedElement) {

感谢您的回答,它是100%正确的-您的元素中应该有公共构造函数。