Обработка Select2 с помощью веб-драйвера SeleniumC#

Место общения программистов C#
Ответить
Anonymous
 Обработка Select2 с помощью веб-драйвера Selenium

Сообщение Anonymous »

Я бился головой о стену, пытаясь выбрать опцию из списка выбора select2 с поддержкой ajax с помощью веб-драйвера selenium. Мне удалось заставить его работать с веб-драйвером IE, но не с Firefox. Вот мое хакерское решение для IE

Код: Выделить всё

 public static void SetSelect2Option(this IWebDriver driver, By locator, string subContainerClass, string searchTerm, TimeSpan? ajaxWaitTimeSpan = null)
{
var select2Product = driver.FindElement(locator);
select2Product.Click();
var searchBox = driver.FindElement(By.CssSelector(subContainerClass + " .select2-input"));
searchBox.SendKeys(searchTerm);
if (ajaxWaitTimeSpan != null)
{
driver.Manage().Timeouts().ImplicitlyWait(ajaxWaitTimeSpan.Value);
}
var selectedItem = driver.FindElements(By.CssSelector(subContainerClass + " .select2-results li")).First();
selectedItem.Click();
selectedItem.SendKeys(Keys.Enter);
}
В Firefox это решение работает до момента вызова SendKeys, где оно просто зависает и переходит к следующему шагу, фактически не запуская события select2 для заполнения выбранного элемента. .

Я также устал использовать API http://code.google.com/p/selenium/wiki/ ... teractions с аналогичными результатами.

Кто-нибудь раньше сталкивался с подобной проблемой?

Подробнее здесь: https://stackoverflow.com/questions/177 ... -webdriver
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»