Селен: выбор кадров - PullRequest
       17

Селен: выбор кадров

3 голосов
/ 19 июля 2011
<iframe width="100%" scrolling="yes" height="100%" frameborder="0" src="/detail.aspx=" name="displayIFrame"></iframe>
<html>
<head>
<frameset framespacing="1" onload="ScrollToAnchor('text', 'Docln', false); if (document.all) {var h = doccontext.document.all.docContextContentDiv.offsetHeight; document.body.rows = h + ',*,22';}" rows="95,*,22" >
    <frame scrolling="no" title="Heading frame" src="head.aspx" name="head"></frame>
    <frame scrolling="yes" title="Content frame" src="content.aspx" name="text"></frame>
    <frame scrolling="no" title="Footer frame" src="footer.aspx" name="footer"></frame>
</frameset>

У меня есть что-то вроде:

                Selenium.SelectFrame("displayIFrame");
                Selenium.SelectFrame("head");
                Selenium.SelectFrame("text"); // I get "ERROR: Not a frame: text"

Почему я получаю ОШИБКА: не фрейм: текст В приведенном выше HTML-коде «текст» - это имя фрейма, который я пытаюсь выбрать. Похоже, я все делаю правильно. Пожалуйста, помогите мне.

Ответы [ 2 ]

6 голосов
/ 20 июля 2011

Вы можете попробовать выбрать верхнюю рамку, прежде чем выбирать другие, например:

Selenium.SelectFrame("relative=top");
Selenium.SelectFrame("head");
Selenium.SelectFrame("relative=top");
Selenium.SelectFrame("text");
4 голосов
/ 19 июля 2011

По ссылке вы можете вызывать это несколько раз, чтобы выбрать вложенные кадры.Тем не менее, «голова» и «текст» не являются вложенными, но они братья и сестры.Я думаю, что вы можете выбрать рамку «head» следующим образом:

Selenium.SelectFrame("displayIFrame");
Selenium.SelectFrame("head");

или выбрать рамку «text» следующим образом:

Selenium.SelectFrame("displayIFrame");
Selenium.SelectFrame("text");

Если вам нужно переключиться с «head»"в" текст "в вашем сценарии попробуйте это:

Selenium.SelectFrame("displayIFrame");
Selenium.SelectFrame("head");

//do something

Selenium.SelectFrame("relative=parent");
Selenium.SelectFrame("text");

//do something
...