首先,等待正确的帧(根据HTML代码,该框架的名称是main_b
)
接下来,你不必有一个链接(<a>
标签),所以By.partialLinkText
不能使用。使用By.name("field")
代替
最后,而不是点击它来得到一个Select
对象:Select mySelect = new Select(el1);
和使用selectByVisibleText
,selectByValue
或selectByIndex
方法
所以一起看起来像这样选择它的一个选项:
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("main_b"));
Select mySelect = new Select(
wait.until(
ExpectedConditions.elementToBeClickable(
By.name("field")
)));
// Select second option by visible text
mySelect.selectByVisibleText("Bacon Anna");
// Same option selected by value
mySelect.selectByValue("16344");
// Same option selected by index
new Select(el1).selectByIndex(1);
图像中帧的名称不是“正确”的,所以它可能没有找到帧。并且与其中的“文本”没有明显的联系,所以这些代码都不应该起作用。你得到的错误是什么? –