Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Selenium Webdriver 2.x и iFrame SharePoint 2010

Автор вопроса: arsalan khanОтветов: 2

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

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

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

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

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

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

iframeseleniumwebdriversharepoint-2010

Ответы

Ответ 1 · arsalan khan

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

Ответ 2 · IN2_Slavens

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']")));

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы