Если вы получаете значения String
, относящиеся к тексту тегов <label>
, например, New, Changed, Longstanding.и т.д. из Excel, тогда вы можете написать функцию, которая будет принимать тексты как String
следующим образом:
public void clickItem(String itemText)
{
driver.findElement(By.xpath("//td//label[starts-with(@for,'ContentPlaceHolder1_rbl_NewChanged_')][.='" + itemText + "']")).click();
}
Теперь вы можете вызвать функцию clickItem()
, передав аргумент String
, чтобы нажать нарелевантный переключатель следующим образом:
String selectType = data.getType().get(rowCnt); // data reading from excel stored to string variable
clickItem(selectType); // will support clickItem("New"), clickItem("Changed") and clickItem("Longstanding")
Примечание : согласно предоставленному вами HTML методу clickItem()
следует работать среализованная стратегия Locator .В качестве альтернативы вы также можете заменить функцию clickItem()
, чтобы щелкнуть узел <input>
следующим образом:
public void clickItem(String itemText)
{
driver.findElement(By.xpath("//td//label[.='" + itemText + "']//preceding::input[1]")).click();
}