我有一个叫做“ inputIDD”的选人环,例如:String InputIDD =“ input-2”;
并希望将此字符串传递到以下位置:“ input-2”的用法如下:

String InputIDD = "input-2";
for (int a = 1; a <= 6; a++)
{
  System.out.println("Value of a:" + a);
  System.out.println("Value of InputID:" + InputID);
  //   String y= Integer.toString(x);
  switch (a) {
    case 1:
      driver.findElementByXPath("(//input[@id='input-2'])[1]").sendKeys("0");
      break;
    case 2:
      driver.findElementByXPath("(//input[@id=InputIDD])[2]").sendKeys(ToAdd);
      break; // optional


等等,

driver.findElementByXPath("(//input[@id='input-2'])[1]").sendKeys("0");:作品
driver.findElementByXPath("(//input[@id=InputIDD])[1]").sendKeys("0");
不起作用

为什么,有什么想法?

最佳答案

在情况2中,您将字符串InputIDD传递到xpath表达式中,而不是变量InputIDD的值中。您将需要执行以下操作:

 driver.findElementByXPath(String.format("(//input[@id=%s)[2]", InputIDD).sendKeys(ToAdd);


在上面的语句中,String.format方法将在格式字符串'%s'所指示的位置交换存储在InputIDD中的值。

10-08 14:29