python seleniumでchromeをheadlessに動かしているとき、send_keysでエラーを吐いたので対処した方法を書きます。
chromeとchromedriver-binaryのバージョンを合わせたのにも関わらずsend_keysでエラーを吐きました。過去バージョンでは動いている記事もあったのですがなぜか動かない。このためだけにchromeのバージョンも下げるのは嫌なのでjavaを呼び出しました。
あくまで一例だと思いますの
headlessじゃないとき
element = driver.find_element_by_name("password")
element.send_keys(""" password """)
これはnameタグでsend_keysを指定した方法です。これだとエラーを吐くので以下のようにしました。
headless時
password = """ password """
driver.execute_script('document.getElementsByTagName("input")[3].value="%s";' % password)
name tagで"password"を指定するとエラーが起きたのでinputタグの4つ目を指定しています。
こんな感じでページ検証しながら合うところでdriver.execute_scriptを使用しjavaを動かすといいかもしれません。