номер 4 это номер фрейма, в котором находится элемент, этот номер может меняться, какой то фрейм может добавляться, какой то убираться
для того что бы определить номер нужного нам фрейма с нужным нам элементом, можем использовать вот такую функцию
// получить нумер frame в которого находится элемент с таким параметром function check_in_frame($tag, $att_name,$att_value,$exactly=false) { for($i=0;$i<10;$i++) { if($tag->is_exist_by_attribute($att_name,$att_value,$exactly,$i)) { return $i; } } return -1; }функция проверяет 10 фреймов и отдаёт номер того в котором нашли нужный элемент. Обычно этих 10 фреймов вполне хватает, но всегда можно добавить в случае необходимости и большее количество к примеру 15
for($i=0;$i<15;$i++)
для нашего случая вызов этой функции будет выглядеть так:
$frm = check_in_frame($hiddeninput, "id", "recaptcha-token", false); $hiddeninput->set_value_by_attribute("id", "recaptcha-token", false,$result,$frm);