私はCapybaraを使ってJupyter Notebookセルにテキストを入力したいと考えています。要素をクリックせずに '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')")
キーイベントを送信する必要がありますいくつかの要素(その要素は、必要ならbody要素になる可能性があります)。あなたは入力する前に要素をクリックしなければなりませんか?関連するHTMLを表示できますか? –