• EN
    RU

DOM общее для всех/set_attribute_by_inner_html

set_attribute_by_inner_html($inner_html,$exactly,$name_attr,$value_attr,$frame=-1); - данная функция используется для задания значения заданного атрибута у элемента страницы, находя его по заданному внутреннему html или его части.
Функция на вход принимает параметры:
  • $inner_html – внутренний html по которому мы находим необходимый нам элемент на странице (string). Чтобы узнать внутренний html элемента, можно воспользоваться либо инспектором элементов, либо контекстным меню, либо посмотреть его в списке элементов.
  • $exactly – точное соответствие внутреннего html при поиске элемента (boolean), по умолчанию 1 - внутренний html элемента должен полностью совпадать с переданным параметром ($inner_html), если этот параметр задан как 0, то будет найден первый элемент во внутренним html, которого, содержится заданная строка ($inner_html). 
  • $name_attr – имя атрибута, который будет изменен (string).
  • $value_attr – значение атрибута, которое будет задано атрибуту (string).
  • $frame – номер фрейма, в котором мы ищем элемент (string). Номера фреймов начинаются с нуля. По умолчанию -1 - элемент находится не во фрейме. Номер фрейма в котором находится нужный вам элемент можно узнать из инспектора задач, контекстного меню и панели списка элементов.
    С версии 4.6.41 доступно: можно передавать вложенные фреймы, принцип такой же самый, передается строка с номерами фреймов, разделенных : например при передаче "1:0:5" - будет выбран фрейм с номером 1 в нем под фрейм с номером 0 и в нем подфрейм с номером 5
    С версии 7.0.38 доступно: можно передавать "url=>XXX", тогда будет произведен поиск фрейма, который содержит заданный src, или передавать "name=>XXX" - тогда будет поиск фрейма, по заданной части имени.

После отработки функция возвращает результат своей работы в робот (тип возвращаемого значения boolean):
  • true – выполнили успешно
  • false – найти такой элемент не удалось (например нет вообще элементов, удовлетворяющих заданным критериям или нет такого фрейма)