WinAppDriverとAppiumを使ってGUIアプリ(Screaming Frog SEO Spider)を自動操作させるため、テキスト入力エレメントを選択してクリア(消去)しようと何種類か試したがAppiumではうまくいかないので、pyautoguiライブラリを使ってトリプルクリックしてテキスト入力エレメントを全選択するか、Ctrl-aで全選択してからsend_keys(Key.DELETE)を実行してめでたくクリアすることができました。WinAppDriver+Appiumは座標を指定しないでエレメントを操作できるのですが、まだ発展途上のようで、Seleniumの機能が全て動作するわけではないのと、日本語の情報が少ないので、pyautoguiやWin32APIと組み合わせて使うのが良いと思っています。

こちらを参考にしました。→ Pythonでマウスやキーボードを操作できるPyAutoGUIによる自動操作マニュアル | ハシカケ-実現したいことから学べるプログラミングサイト (hashikake.com)

PyAutoGuiで繰り返し作業をPythonにやらせよう – Qiita

プログラム(Python、Appium、WinAppDriver)のバージョンです。

(1)自動操作するGUIアプリ(Screaming Frog SEO Spider)

 このアプリを自動操作して、ホームページの分析結果を取得し、Excelシートに書き込みます。下記の「https://」のエレメントを書き換えるのが目的で、send_keys()を実行すると表示中のテキストが残ったまま新たなテキストが追加されてしまうので、一旦全選択して削除(DELETE)する必要があります。

(2)appium、pyautoguiを使って、「https://」のエレメントをトリプルクリック(45行目)して全選択してから削除します。pyautogui.tripleClick()を使うのがポイントです。

全選択するには、Ctrl-aで全選択する方法もあることがわかった。

もう一つの方法は、「Ctrl-a」で全選択してから削除する方法もある。理由は不明だが「Ctrl-A」では全選択できなかった。

 

(3)Appiumのwebdriverを起動し(267行目から273行目)、「https://」のエレメントを取得し(291行目)、エレメントをクリアして新らに分析するURLを設定します(267行目から273行目)。