前回ご紹介した記事では 自動で copilot に入力し 自動で実行ボタンを押しました。
今回は copilot からの回答を受け取り、さらに複数回 copilot と会話して 回答を受け取る方法をご紹介します。
実行環境は以下の通りです。
OS | Windows11 |
プログラミング言語 | Python 3.13.3 |
ライブラリ | Selenium 4.21.0 |
ではいってみましょう!
インストール
まずは pip で Selenium をインストールしましょう。
2.プログラムコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
from selenium import webdriver from selenium.webdriver.common.by import By import time driver=webdriver.Chrome() # ターゲットページを開く driver.get("https://copilot.microsoft.com/") time.sleep(5) # userInput要素を見つけて値を入力 user_input_element = driver.find_element(By.ID, "userInput") user_input_element.send_keys("こんにちは") time.sleep(3) # class属性を持つボタンをクリック button = driver.find_element(By.CLASS_NAME, "rounded-submitButton") button.click() time.sleep(3) element = driver.find_element(By.XPATH, "(//div[contains(@class, 'group/ai-message-item')]//span[contains(@class, 'font-ligatures-none')])[last()]") reply_text = element.text print(reply_text) # 2回目の会話 time.sleep(3) user_input_element = driver.find_element(By.ID, "userInput") user_input_element.send_keys("お元気ですか?") time.sleep(3) button = driver.find_element(By.CLASS_NAME, "rounded-submitButton") button.click() # XPathで<span>要素を取得 time.sleep(3) element = driver.find_element(By.XPATH, "(//div[contains(@class, 'group/ai-message-item')]//span[contains(@class, 'font-ligatures-none')])[last()]") reply_text = element.text print(reply_text) # プログラムが終了したらブラウザが閉じるので待機 time.sleep(15) |
3.実行結果
copilot からの回答が 右のターミナルに取得されていますね!
4.解説
1.XPATH を使って colilot の 回答エリア をゲットしよう!
copilot の回答エリアは次の通りです。

これを取得するには class が “group/ai-message-item” の <div> をまず取得します。それがこちらです。
driver.find_element(By.XPATH, “(//div[contains(@class, ‘group/ai-message-item’)])”
※ "//"
は HTML全体から 指定した要素を検索することを示します。
そして次に、その要素の中から class が font-ligatures-none の <span> を取得します。後ろに続けて書きます。それがこちらです。
driver.find_element(By.XPATH, “(//div[contains(@class, ‘group/ai-message-item’)]//span[contains(@class, ‘font-ligatures-none’)])”
2. [last()] を使って 最終要素 を取得しよう!!
last()
は XPathの機能 で、一致するすべての要素の中で一番最後の要素を選択します。
これにより、AIが生成した最新のメッセージのみを取得できます。
さいごに
今回は copilot と自動で会話のラリーをして、回答を取得する方法をご紹介しました。
是非ご活用ください。
ではまた。
・以下のサイトを参考にさせて頂きました。

コメント