2016-08-12 3 views
0

У меня есть HTML страница состоит в следующем:Как написать в IFRAME с Selenium IDE

<myDiv> 
<div> 
    <Iframe> 
    <Html> 
    <Body> 
    // I want to write here 
    </ Body> 
    </ Html> 
    </ Iframe> 
</ div> 
</ myDiv> 

мне удается достичь IFRAME, но я не могу ввести HTML-теги и ТЕЛО. Я использую Seleium IDE, прочитав несколько тем по этому вопросу, он по-прежнему не отвечает на мой вопрос. Я пробовал две команды с Selenium IDE, я думаю, первая команда работает, потому что у меня нет ошибок в журналах. Вторая команда не работает, я думаю, что это не так много, но мне нужна помощь. Спасибо. Команда

1:
команда -> selectFrame
Target -> // DIV [@ ID = 'myDiv']/дел/iframe/
значение -> ничего

команда 2 :
команда -> Тип
Target -> // HTLM/тело/
значение -> мой текст

+1

[ 'iframe'] (https://developer.mozilla.org/en/docs/Web/HTML/Element/iframe) есть, чтобы встроить другой HTML-страницы в текущей страницы, используя его' SRC 'атрибут. Все, что находится между '', отображается только в том случае, если браузер не поддерживает 'iframe'. 'html' не является допустимым дочерним элементом' iframe' [iframe: модель контента] (https://html.spec.whatwg.org/multipage/embedded-content.html#iframe-content-model) –

+0

Здравствуйте, браузер Я использую Mozilla Firefox. Когда я смотрю на код на странице HTML, я могу видеть теги (html, body) внутри, но я не могу их достичь. – explorer

+0

В исходном коде все еще имеется, но в DOM (структура, созданная из HTML-кода для рендеринга и используемая для доступа к отдельным элементам), 'iframe' будет иметь только один дочерний узел введите 'Text' с' // Я хочу здесь написать '' как 'data', эти данные не обрабатываются в DOMElements, поэтому вы не можете запросить их, вы можете получить доступ только к целой строке. Вы наверняка можете вручную разобрать эту строку в структуре DOM. Но почему вы храните его вообще в элементе iframe? –

ответ

0

Я нашел решение своей проблемы, iframe - это «редактор» компонента JSF, который недоступен при загрузке страницы. Вам необходимо воспроизвести следующий скрипт, который позволяет получить доступ к компоненту после его загрузки.

<tr> 
    <td>runScript</td> 
    <td>document.getElementById('myComponent').style.display=&quot;block&quot;;</td> 
    <td></td> 
</tr> 

// myComponent is the iframe id 
Смежные вопросы