Как получить тэг child в селене в виде строки и выполнить действие в зависимости от типа тэга - PullRequest
0 голосов
/ 13 апреля 2020
inputText1= browserFactory.getDriver().findElement(By.xpath("//table[@class='table-table-bordered']//tbody/tr));
WebElement childAttr = inputText1.findElement(By.xpath("./child::"));
if (childAttr.getTagName()=="input")  // if the type of the field is input textbox,,then below will happen
{
inputText1.findElement(By.xpath("./input"));
SendKeys(inputText1,"TypeInput");
}
else if (childAttr.getTagName()=="./select"));  // if its is dropdown
{
inputText1.findElement(By.xpath("./select"));
SelectListValueName(inputText1,"TypeSelect");
}

Исключение выдается в "child ::" - неправильная строка. удалите "./" и попробовал. Это правильный способ подхода

1 Ответ

1 голос
/ 13 апреля 2020

Почему вы не можете просто использовать метод getTagName () , чтобы получить тег элемента.

row= browserFactory.getDriver().findElement(By.xpath("//table[@class='table-table-bordered']//tbody/tr]"));
WebElement targetEle = inputText1.findElement(By.xpath(".//*[local-name()='input' or local-name()='select']");
// check if the row have either input/listbox
if (targetEle.getTagName().equals('input'))  // if the type of the field is input textbox,,then below will happen
{
    SendKeys(targetEle,"TypeInput");
}
else if (targetEle.getTagName().equals("select"));  // if its is dropdown
{
    SelectListValueName(targetEle,"TypeSelect");
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...