Selenium Webdriver 2.x и iFrame SharePoint 2010

Ссылка «Добавить новый элемент» в любом списке в Sharepoint2010 показывает окно/рамку. Я хочу иметь возможность находить текстовые поля, писать в них и выполнять другие операции в окне/фрейме. В настоящее время я безуспешно использую следующие методы:

BrowserInstance.SwitchTo().Frame(index) --- Исчерпаны все индексы. BrowserInstance.SwitchTo().Window() ---

HTML-код выглядит примерно так:

<Div  class=some class>
<Iframe frameborder=0 ..........>
</iframe></div>

Selenium Webdriver (С#) идентифицирует div (класс = некоторый класс), но не Iframe, который, к сожалению, содержит все поля и кнопки.

Какие-нибудь мысли?


person arsalan khan    schedule 10.05.2012    source источник


Ответы (2)


Мне не удалось сделать это с помощью селена. Поэтому я использовал код watin в Selenium Test. Возможно, это не очень хорошая идея, но Watin, кажется, довольно хорошо идентифицирует iframes SharePoint 2010.

person arsalan khan    schedule 28.05.2012

IWebDriver.SwitchTo().Frame(1);

работает на меня.

Вы используете WebDriverWait после этого метода? Вам нужно дождаться загрузки модального диалога:

webDriverWait.Until(drv => _driver.SwitchTo().Frame(1));

// Locate 'Name' field.
webElement = webDriverWait.Until(drv => _driver.FindElement(By.XPath("//textarea[@title='Name']")));
person IN2_Slavens    schedule 14.03.2013