Проблемы, взаимодействующие с элементами при использовании PhantomJS и FluentAutomation.NET
Я написал пару тестов, используя SpecFlow, PhantomJS, Selenium и FluentAutomation.NET. Они отлично работают на Chrome и FireFox, но когда я запускаю их на PhantomJS, они терпят неудачу.
Сообщение об ошибке:
элемент в настоящее время не взаимодействует и не может быть изменен
Поиск показывает, что это обычно вызвано тем, что элемент находится за пределами экрана, страница загружается не полностью или другие случайные сбои. Вставка ожидания не решает проблему и устанавливает .With.WindowSize(1980, 1080)
тоже не работает.
Код очень прост, почти прямо из примеров
I.Focus(SearchInput);
I.Scroll(SearchInput);
I.Enter(searchText).In(SearchInput);
1 ответ
Решение
Оказывается, что установка WindowWith
а также ~Height
через объект настроек делает чудеса:
SeleniumWebDriver.Bootstrap(
SeleniumWebDriver.Browser.PhantomJs
);
FluentSettings.Current.WindowHeight = 1080;
FluentSettings.Current.WindowWidth = 1980;