Что нового

Как быть с фреймом?

mak200

Новичок
Добрый день!
Подскажите как работать с фреймом?
  • Получить из фрейма значение элемента input.
  • Заменить в фрейме значение элемента input.
  • Клинуть в фрейме какой-то элемент, проверив его наличие.
<input type="text" class="crm-offer-item-inp" name="RQ_INN" value="1639016091" data-requisite="field" size="30" autocomplete="off">

Фрейм на странице выглядит так:
<iframe src="/requisite.edit/slider.ajax.php?requisite_id=15955&amp;sessid=57b96821e32e82&amp;etype=4&amp;eid=6825&amp;external_context_id=COMPANY_6825&amp;IFRAME=Y&amp;IFRAME_TYPE=SIDE_SLIDER" class="side-panel-iframe" name="iframe_zzd1f73g" id="iframe_zzd1f73g" frameborder="0"></iframe>
Сообщение автоматически объединено:

Научился искать фреймы.
Делается так.
Код:
$oFrames = _IEFrameGetCollection ($oIE)
    $iNumFrames = @extended
    For $i = 0 to ($iNumFrames - 1)
        $oFrame = _IEFrameGetCollection ($oIE, $i)
        $urlFrameSearch = StringInStr(_IEPropertyGet ($oFrame, "locationurl"), "slider.ajax.php") ;так нахожу нужный мне фрейм
        if $urlFrameSearch <> 0 Then
            ExitLoop
        EndIf
    Next


С найденным фреймом $oFrame можно работать дальше.
Я знаю 3 способа:
1. получить $url = _IEPropertyGet ($oFrame, "locationurl")
2. получить $html = _IEPropertyGet ($oFrame, "locationurl")
3. получить текст, очищенный от тегов $text = _IEPropertyGet ($oFrame, "innertext")

Вопрос. Можно ли в этом фрейме найти какой-то объект по id или class и что-то с ним сделать (кликнуть или скопировать)?
Например, так не получается:
Код:
$searchResultText = $oFrame.document.querySelector('li.popup-search-result-item>span').value


Выдает ошибку.
1.jpg
Сообщение автоматически объединено:

Разбираюсь дальше, может кому-то поможет.
Оказывается надо было так:
Код:
$searchResultText = $oFrame.document.querySelector('li.popup-search-result-item>span').innertext

Вопрос. Что будет если искомый элемент не будет найден?
 
Последнее редактирование:
Верх