Sur*_*bhi 4 java selenium selenium-webdriver
在我的网页中有多个dropdowns具有相同属性值的
我把所有这些都Webelements放在一个列表中
现在WebElement使用索引从列表中获取一个
在尝试将其输入WebElement到 Select 时,出现错误:
“java.lang.ClassCastException: org.openqa.selenium.remote.RemoteWebElement 不能转换为 org.openqa.selenium.support.ui.Select”
请帮忙!下面是我的代码。
int index;
String sIndex = null;
By element = ORUtils.ORGenerator(pageName,objectName);
//Getting all the webelements with same name in myElement List
java.util.List<WebElement> myElements=WebUtils.driver.findElements(element);
//Get index of element on page
Pattern pIndex=Pattern.compile("(.*)");
Matcher mIndex=pIndex.matcher(objectName);
if(mIndex.find())
{
sIndex=objectName.replaceAll("[a-z]","");
sIndex=sIndex.replaceAll("[A-Z]","");
}
index=Integer.valueOf(sIndex);
index=index-1;
//Getting element from the List using index
WebElement myElement=myElements.get(index);
//Type casting WebElement to Select this is where i get the error**
Select myDropDown=(Select) myElement;
List<WebElement> listOfOptions = myDropDown.getOptions();
//List<WebElement> listOfOptions=myElement.
for(WebElement item : listOfOptions)
{
if(Value.equals((item.getText())))
{
item.click();
Thread.sleep(2000);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
在 java 对象类型转换中,一个对象引用可以被类型转换为另一个对象引用。转换可以是它自己的类类型,也可以是它的子类或超类类型或接口之一。所以你在做什么是不正确的。要使用 myElement 创建 Select 对象,请执行以下操作:
Select myDropDown=new Select(myElement);
Run Code Online (Sandbox Code Playgroud)
要了解更多信息,您还可以通过查看来尝试instanceOf。在这里,您可以将其检查为:
if (myElement instanceof Select)
System.out.println(true);
else
System.out.println(false);
Run Code Online (Sandbox Code Playgroud)
你会得到你的答案。
| 归档时间: |
|
| 查看次数: |
6984 次 |
| 最近记录: |