Я хочу использовать Capybara для ввода текста в ячейку ноутбука Jupyter. Нажатие на элемент и использование «send_keys» не работает, хотя курсор заканчивается в нужном месте: find(".input").click.send_keys("hello")
Capybara, Selenium, Jupyter Notebook: ячейка кода заполнения
Есть ли способ имитировать нажатие клавиш без выбора элемента? find("body").send_keys("hello")
также не вырабатывает текст
Редактировать: Я узнал, что Jupyter Notebook использует CodeMirror. CodeMirror каким-то образом использует скрытое поле <textarea>
, так что это объясняет, почему Selenium отказался найти вход.
Мой текущий обходной путь, чтобы найти первый редактор CodeMirror и использовать функцию setValue
на нем: execute_script("var editor = $('.CodeMirror')[0].CodeMirror; editor.setValue('this is the input')")
Ключевые события должны быть отправлены к некоторому элементу (этот элемент может быть элементом тела, если он нужен). Вам нужно щелкнуть элемент, прежде чем вводить текст? Можете ли вы показать соответствующий HTML? –