Мне нужно выбрать первый переключатель для поля «Продукт» на первой вкладке моей веб-страницы. Затем скрипт переместится на вторую вкладку с тем же URL. Во второй вкладке также необходимо выбрать первый переключатель. Проблема в том, что идентификатор переключателя отличается на каждой вкладке, и мне трудно найти этот элемент. Локатор идентификатора, локатор CSS, xpath и т. д. различаются в каждой вкладке для каждого переключателя. Пожалуйста, помогите
Вот мой код.
WebElement productRadio = driver.findElement(By.xpath("//input[@type='radio']"));
wait = new WebDriverWait(driver, 120);
wait.until(ExpectedConditions.elementToBeClickable(productRadio));
Thread.sleep(5000);
@SuppressWarnings("unused")
boolean str2 = medicalproductRadio.isSelected();
if (str2)
{ System.out.println("Radio button already selected!"); }
else
{
Actions actions = new Actions(driver);
actions.moveToElement(productRadio).click().perform();
System.out.println("Radio Button selected by Test Script");
}
Так как это первый переключатель, я попытался использовать xpath //input[@type='radio']
Но скрипт не выбирает переключатель, и я получаю сообщение об ошибке,
org.openqa.selenium.TimeoutException: ожидаемое условие не выполнено:
ожидание нажатия элемента
Вот исходный код
<script id="SelectTemplate" type="text/x-jsrender">
<div class="{{>~getCssClass(~layout,null,true)}}">
<label class="radio-label-align-middle" for="{{>Name}}" {{if Visible === true}} style='display:block;' {{else}} style='display:none;' {{/if}}>
{{>Label}}
{{if ~hasRequiredValidation(FullName) }}
<em>*</em>
{{/if}}
</label>
</div>
<div class="{{>~getCssClass(~layout)}} select-wrapper" {{if Visible === true}} style='display:block;' {{else}} style='display:none;' {{/if}}>
{{if IsMultiline === true}}
<select id='{{>Name}}{{:~getFormInstanceId()}}' name='{{>Name}}{{:~getFormInstanceId()}}' customrule='{{>HasCustomRule}}' data-placement="bottom" data-toggle="tooltip" title='{{>HelpText}}'
class='form-control multi-select {{if Enabled === false}} disabled {{/if}}'
{{if Visible === true}} style='display:block;' {{else}} style='display:none;' {{/if}}
{{if Enabled === false}} disabled="disabled" {{/if}}
multiple='multiple' data-link='{{>FullName}}' data-journal='{{>FullName}}'>
{{else}}
<select id='{{>Name}}{{:~getFormInstanceId()}}' name='{{>Name}}{{:~getFormInstanceId()}}' customrule='{{>HasCustomRule}}' data-placement="bottom" data-toggle="tooltip" title='{{>HelpText}}'
class='form-control hastooltip {{if Enabled === false}} disabled {{/if}}'
{{if Visible === true}} style='display:block;' {{else}} style='display:none;' {{/if}}
{{if Enabled === false}} disabled="disabled" {{/if}}
data-link='{{>FullName}}' data-journal='{{>FullName}}'>
<option value="[Select One]">[Select One]</option>
{{/if}}
{{for ~sortDropDownItems(Items,IsSortRequired) ~defaultValue=DefaultValue}}
{{if ~defaultValue === ItemValue}}
<option value="{{>ItemValue}}" selected>{{>ItemText}}</option>
{{else}}
<option value="{{>ItemValue}}">{{>ItemText}}</option>
{{/if}}
{{/for}}
</select>
</div>
</script>