那是因为
Select该类具有以下构造函数:
Select(WebElement element)
见Javadoc
因此,如果您执行以下操作:
@FindBy(id="foo")private WebElement wannabeSelect;Select realSelect = new Select(wannabeSelect);realSelect.selectByValue("myValue");它应该工作。
顺便说一句,在“解决方法”中,我使用与您相同的方法,因为当我需要Select对象时,我不想投射新的WebElement对象。但是无论如何,
sDriver.findElement(By.id("foo"));返回
WebElement,所以这就是为什么它起作用。您也可以这样做:
WebElement wannabeSelect = sDriver.findElement(By.id("foo")); Select foo = new Select(wannabeSelect);


