Ваш тест ошибочен. Вы не следуете за поведением пользователя.
Вы делаете:
js.executeScript("document.getElementById('field_id').value='" + brand + "'");
Которая пытается изменить значение в раскрывающемся списке. Это не работает, потому что раскрывающиеся списки работают через selectedIndex, который можно использовать для получения правильного значения из коллекции параметров в раскрывающемся элементе. Кроме того, когда пользователь изменяет значение, запускается событие изменения, которое уведомляет другие сценарии, прослушивающие это событие, о том, что что-то изменилось. Вам также необходимо эмулировать это, чтобы запустить ваш сценарий изменения.
js.executeScript("let select = document.getElementById('field_id');"+
"select.selectedIndex = 1;/* change this to the value corresponding to the correct index of the value you wish to test. */"+
"select.dispatchEvent(new Event('change'));");
См. Пример ниже, чтобы узнать, как javascript должен работать.
document.getElementById('field_id').addEventListener('change', (e) => {
if(e.target.options[e.target.selectedIndex].value > 1) {
document.getElementById('the_disabled').disabled = false;
}
else {
document.getElementById('the_disabled').disabled = true;
}
});
document.getElementById('trigger').addEventListener('click',() => {
let select = document.getElementById('field_id');
select.selectedIndex = 1;// change this to the value corresponding to the correct index of the value you wish to test.
select.dispatchEvent(new Event('change'));
});
<select id="field_id">
<option value="1">--none--</option>
<option value="2">COMPANY A</option>
<option value="3">COMPANY B</option>
</select>
<BR/>
<select id="the_disabled" disabled="disabled">
<option value="0">--none--</option>
<option value="1">SELECT A</option>
<option value="2">Select B</option>
</select>
<BR/>
<button id="trigger">Trigger selenium emulation</button>