Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5

Обработка скриптов в Selenium

04.04.2018, 11:44. Показов 5408. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, ребята! Имеется такой код:
C#
1
2
3
4
5
IWebElement filter = GetElements(By.XPath("//*[@id=\"OrderTenderSelfPrice\"]"));
if(filter != null)
{
   filter.SendKeys(tbFilterPrice.Text);
}
Элемент находится, все нормально, но текст в поле ввода не устанавливается. Я так полагаю, что разработчики повесили скрипты на поля ввода. Подскажите пожалуйста, как передать значение в поле ввода с помощью скрипта ?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2018, 11:44
Ответы с готовыми решениями:

Обработка исключения в Selenium Webdriver
Работаю с Selenium Webdriver и не могу понять как в нижеидущем коде работает исключение Помогите, пожалуста! public void...

Selenium и обработка JavaScript
Помогите, пожалуйста. Как при помощи Selenium можно ввести данные и нажать кнопку ОК в окошке alert типа promt ( javaScript), окошко...

Обработка select и выполнение скриптов на одной кнопке
Всем привет! Очень нужна помощь. Работаю с oracle 10g xe через компонет odac. Пишу небольшую программулину, которая будет позволять...

6
59 / 71 / 2
Регистрация: 04.12.2014
Сообщений: 176
04.04.2018, 12:36
JavaScript
1
document.getElementById('OrderTenderSelfPrice').value = "text";
это скрипт на JS, который сделает атрибут value у инпута равным text.
в селениуме этот скрипт следует передать в метод ExecuteJavaScript() у IWebDriver (просто строку, text поменять на требуемое значение).

P.S. быть может, просто в tbFilterPrice.Text возвращаются какие-то символы, которые не принимает целевой инпут?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.04.2018, 12:44  [ТС]
Цитата Сообщение от Lethorn Посмотреть сообщение
P.S. быть может, просто в tbFilterPrice.Text возвращаются какие-то символы, которые не принимает целевой инпут?
нее, там выставляю число, хотя возможно что число должно быть строкой

Добавлено через 4 минуты
Lethorn, т.е. нужно что-то типа такого?
C#
1
2
IJavaScriptExecutor js;
js.ExecuteScript(GetElements(By.XPath("//*[@id=\"OrderTenderSelfPrice\"]")), tbFilterPrice.Text);
0
59 / 71 / 2
Регистрация: 04.12.2014
Сообщений: 176
04.04.2018, 13:13
Лучший ответ Сообщение было отмечено Почтальон как решение

Решение

Цитата Сообщение от Почтальон Посмотреть сообщение
Lethorn, т.е. нужно что-то типа такого?
что-то типа этого:
C#
1
2
var script = $"document.getElementById('OrderTenderSelfPrice').value = {tbFilterPrice.Text}"; 
driver.ExecuteJavaScript(script);
driver - это экземпляр IWebDriver
1
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.04.2018, 13:19  [ТС]
Lethorn, а есть ли метод getElementByXPath ?, боюсь что getElementById может не сработать
0
59 / 71 / 2
Регистрация: 04.12.2014
Сообщений: 176
04.04.2018, 13:26
Цитата Сообщение от Почтальон Посмотреть сообщение
Lethorn, а есть ли метод getElementByXPath ?, боюсь что getElementById может не сработать
есть:
JavaScript
1
var element = document.evaluate("XPATH_HERE", document, null, XPathResult.ANY_TYPE, null);
но тут сложнее, в итоге должно получиться что-то типа такого:
C#
1
2
3
4
var script = string.Format(@"var element = document.evaluate("XPATH_HERE", document, null, XPathResult.ANY_TYPE, null);
   if (element)
        element.value = {0};", tbFilterPrice.Text);
driver.ExecuteJavaScript(script);
1
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.04.2018, 15:29  [ТС]
Прописал такой код:
C#
1
2
3
4
IWebDriver Browser;
IJavaScriptExecutor js = (IJavaScriptExecutor)Browser;
string str_script = "document.getElementById('OrderTenderSelfPrice').value =" + tbFilterPrice.Text;
js.ExecuteScript(str_script, filter);
Но вылетает ошибка:
unknown error: call function result missing 'value'

Добавлено через 1 час 1 минуту
Обновил версию драйвера, ошибка ушла, скрипт отрабатывает . Lethorn, премного благодарен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.04.2018, 15:29
Помогаю со студенческими работами здесь

Selenium
Не могу понять в чем проблема. Вылетает Firefox. Версия ФФ 45.0.2, python 3.4.3, selenium 2.53.6 Создается инстанс веб драйвера, и иногда...

Selenium и Vk
Ребят , срочно нужна ваша помощь. Пытаюсь написать парсер новостей вк. Возникла следующая проблема , новости подгружаются динамически, как...

Selenium
Кто-нибудь знает где скачать нормальную версию Selenium для тестирования проектов? Уже второй день не могу установить.

Selenium+python
Всем привет. Подскажите пожалуйста как работать с выпадающими списками? Пытаюсь сделать так theme = "sirius" themeSelect =...

Задержка в Selenium
как сделать задержку перед проверкой элемента в Selenium, попробовал встроенную задержку C# выводит не то dr = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru