• EN
    РУ

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

get_numbers_child_by_id($id, $element_type = "", $frame = -1, $include_subchildren = false); - данная функция используется для получения номеров элементов, дочерних к заданному элементу на странице, находя его по заданному id.
Функция на вход принимает параметры:

  • $id – id по которому мы находим необходимый нам элемент на странице (string). Чтобы узнать id элемента, можно воспользоваться либо инспектором элементов, либо контекстным меню, либо посмотреть его в списке элементов.
  • $element_type – тип дочерних элементов, номера которых нам надо получить (string). По умолчанию пустая строка (все типы). Может быть передано "anchor", "btn" , "button" и т.д. , - т.е. строка с типом объекта, номера которых надо получить. Причем номера будут получены для заданного типа и используя нумерацию заданного типа.
  • $include_subchildren – искать также по всем дочерним подэлементам. 
  • $frame – номер фрейма, в котором мы ищем элемент (string). Номера фреймов начинаются с нуля. По умолчанию -1 - элемент находится не во фрейме. Номер фрейма в котором находится нужный вам элемент можно узнать из инспектора задач, контекстного меню и панели списка элементов.
    С версии 4.6.41 доступно: можно передавать вложенные фреймы, принцип такой же самый, передается строка с номерами фреймов, разделенных : например при передаче "1:0:5" - будет выбран фрейм с номером 1 в нем под фрейм с номером 0 и в нем подфрейм с номером 5
    С версии 7.0.38 доступно: можно передавать "url=>XXX", тогда будет произведен поиск фрейма, который содержит заданный src, или передавать "name=>XXX" - тогда будет поиск фрейма, по заданной части имени.

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