前提・実現したいこと
seleniumでinputタグやtextareaではない場所にテキスト入力(代入)するテストシステムを作っています。
発生している問題・エラーメッセージ
テキストを代入するsendkeysでは効かないようになっています。表示はできるが、操作はできない
オブジェクトのようです。
>>AttributeError: 'NoneType' object has no attribute 'send_Keys'
該当のソースコード
xxx = "txt" #文字を入れる post = driver.find_element_by_css_selector("#creator_studio_sliding_tray_root > div > div > div._7-iu._3qn7._61-3._2fyi._1a9e > div._7-i- > div > div._8525 > div._7-2a._5yk1.ads-text-suggestions-focusable > div > div > div._5rpb > div > div > div > div") post.send_Keys(xxx)
試したこと
javascriptを直接実行させようと試しましたが稼働しませんでした。
execute_script('document.getElementsByClassName("div._7-2a._5yk1.ads-text-suggestions-focusable").value="%s";' % xxx)
参考: https://srbrnote.work/archives/3025
補足追記:できれば絵文字emoji入力もできれば幸いです。その時のseleniumの取得方法も教示いただけると助かります。
選択中のHTMLが下記になります。
<div class="_7-2a _5yk1 ads-text-suggestions-focusable" role="presentation"> <div class="_5yk2" tabindex="-1"><div class="_5rp7"><div class="_5rpb"> <div aria-autocomplete="list" aria-controls="js_2u" aria-expanded="false" class="notranslate _5rpu" contenteditable="true" role="combobox" spellcheck="false" style="outline: none; user-select: text; white-space: pre-wrap; overflow-wrap: break-word;"><div data-contents="true"> <div class="" data-block="true" data-editor="8e4re" data-offset-key="6im0h-0-0"><div data-offset-key="6im0h-0-0" class="_1mf _1mj"><span data-offset-key="6im0h-0-0"><span data-text="true">あああ????</span></span></div></div></div></div></div></div></div></div>
追記:
HTMLでのnodeで追記したい部分をイメージで囲い追加しました。
この中にselenium実行中にテキストが入ってくれればOKなのですが、、。