我试图在sendKeys方法[类型WebElement]中发送“String”作为参数,但是系统将它用作char序列,所以我没有得到正确的输出。
public static void setGridDropDownValue(Selenium selenium, WebDriver webDriver, String strGridId, int nRowIndex, int nCellIndex, String strValue)
{
String strXPath = "//div[@id='"+strGridId+"']//table/tbody/tr[2]/td/div/div/table/tbody/tr["+(nRowIndex+2)+"]/td["+(nCellIndex+1)+"]/";
selenium.click(strXPath);
selenium.doubleClick(strXPath);
strXPath = "//select";
Select selStatus = new Select(webDriver.findElement(By.xpath(strXPath)));
List<WebElement> we = selStatus.getOptions();
for(int i = 0; i< we.size();i++)
{
WebElement wei = we.get(i);
System.out.println("Options : "+wei.getText().toString());
if(wei.getText().toString().equals(strValue))
{
wei.sendKeys(strValue);
break;
}
}
}
例如:我的下拉列表有4个选项(部分,完成,验证,删除)。如果选择的值是“部分”并且我发送密钥“完成”,那么它工作正常,但如果选择的值是“已验证”并且我发送“完成”,则系统选择“删除”。我没有得到它的工作程序,但我认为系统正在比较字符。如果选择的值为“已验证”且我正在发送“部分”,则系统正在选择“部分”(正常工作)。
F.Y.I。 :在用户双击该元素之前,我的下拉列表是不可见的。
如果有任何方法可以使用sendKeys方法发送“String”,请告诉我。 TIA
答案 0 :(得分:4)
如果您使用的是eclipse,请按照以下步骤操作:
答案 1 :(得分:1)
再次设置JRE系统库。如果您使用eclipse,请按照以下步骤操作:
您也可以通过删除和添加来进行编辑。步骤是:
答案 2 :(得分:0)
您可以使用Select类
Select select = (Select) driver.findElement(By.xpath(strXPath));
select.selectByVisibleText(strValue);
答案 3 :(得分:0)
如果您使用的是eclipse,请按照以下步骤操作: - 1.右键单击您的项目 - &gt;构建路径 - >配置构建路径 2.选择Java Compiler-&gt;将级别更改为1.7 3.单击Apply-&gt; OK`
我认为这应该有效。没有编译错误。