Новое в селене.Пожалуйста помоги.Невозможно сфокусироваться на текущем кадре - PullRequest
0 голосов
/ 20 октября 2011

Я работаю над селеном из Java-кода.На моей текущей странице есть два фрейма, и я в основном хочу найти текст в любом из этих двух фреймов на странице.

Теперь проблема в том, что, когда я достигаю этой страницы, фокус неПохоже, что они появляются на недавно открытой странице и, следовательно, на кадрах в ней.

Я попробовал следующие несколько вариантов: 1. Selenium.SelectFrame ("относительный = верх"), индекс = 0/1, SelectFrame ("//Рамка");2. Попробовал selenium.getEval ("document.getElementsByTagName ('frame') [0] .contentWindow.document");3. Также попробовал selenium.selectWindow () с опциями name / title.

Я все еще не могу получить фокус на текущей странице и, следовательно, не могу найти нужный текст (я использую selenium.isTextPresent ("text")) для этого, но он не работает, потому что я предполагаю, что фокус не смещается к фрейму / странице.

Не могли бы вы, пожалуйста, дать мне знать, что я пропустил?Спасибо, Суман

1 Ответ

1 голос
/ 21 октября 2011

Selenium не может искать по нескольким кадрам. Если вы хотите найти одну и ту же строку в любом кадре, вам нужно кодировать два поиска. Например:

main.html:

<html>
    <frameset>
        <frame id="frame1" src="frame1.html">
        <frame id="frame2" src="frame2.jhtml">
    </frameset>
<html>

frame1.html:

<html>
    <body>
        <p>Hello from frame 1!</p>
    </body>
<html>

frame2.html:

<html>
    <body>
        <p>Hello from frame 2!</p>
    </body>
<html>

Тогда следующий текст должен найти «Hello» в любом кадре:

foundHello = false;
selenium.selectFrame("relative=top");
selenium.selectFrame("id=frame1");
if selenium.isTextPresent("Hello") then foundHello = true;
selenium.selectFrame("relative=top");
selenium.selectFrame("id=frame2");
if selenium.isTextPresent("Hello") then foundHello = true;
if (foundHello) then ... blah blah blah ...
...