この記事では、python seleniumとpyautoguiを使って、ズーム会議に自動的に参加できる簡単なzoom botを作成します。
How to Auto Join Zoom Meetings Using Python
Zoomミーティングに自動参加するボットを作成しましょう。
このボットは、設定された時間に基づいて、特定のリンクに接続します。
1. SeleniumとPyautoguiのインストール
今回のプロジェクトでは、seleniumとpyautoguiのモジュールが必要です。
pipパッケージマネージャから、以下のコマンドでダウンロードできます。
pip install selenium pip install pyautogui |
これらのモジュール以外に、chromeまたはfirefoxのwebdriverをダウンロードする必要があります。
WebdriverとWebブラウザのバージョンが同じであることが必須です。
ブラウザの公式サイトやGoogle検索でダウンロードできます。
おすすめ記事:Selenium PythonにWebドライバをインストールする
from selenium import webdriver
import pyautogui as py
import time
|
必要なモジュールをインポートしたら、次はwebdriverを初期化します。
以下のコードでは、Webdriverのパスを渡します。
driver = webdriver.Chrome(Path of downloaded chrome webdriver)
|
2. Zoomを起動し、必要な情報を取得する
設定が完了したので、会議に自動的に参加するためのbotのコーディングを開始します。
Zoomで会議に参加するためには、会議IDとパスコードが必要です。
そこで、両方を変数に保存しておきます。
このリンクをクリックすると、zoom join meetingのウェブページが表示されます。
driver.get( 'https://zoom.us/join' )
# --> storing meeting id and passcode, you may also take this as an input in your code from the user meet_code = "275 816 9386"
passcode = "9pX9pT"
|
3. Webエレメントの検索
会議に参加しようとすると、Zoomクライアントから、前のステップでURLを取得することによっても得られる認証ページが表示され、会議コードを要求するWebページが表示されます。
idボックスとjoinボタンのxpathを調べて、要素の場所を特定し、seleniumを使ってこれらのアクションを自動化することができるようにします。
以下のコードでは、まず id ボックスを見つけ、send keys メソッドを使用して会議コードを与えています。
会議コードが入力された後、参加ボタンをクリックして次のステップに進みます。
このボットは、人間が値を入力して会議に参加するのと同じ動作を模倣します。
# finding id text box and sending it our meeting code. element_box = driver.find_element_by_xpath( "//input[@id='join-confno']" )
element_box.send_keys(meet_code) #waiting for 2 seconds to send the code time.sleep( 2 )
#finding the join button and clicking on it Btn = driver.find_element_by_xpath( "//a[@id='btnSubmit']" )
Btn.click() |
4. Pyautogui を使用してパスコードを入力する
参加ボタンをクリックすると、zoomクライアントが開き、会議のパスコードを入力するように要求されます。
そこで、パスコードを入力するためのテキストボックスと送信ボタンを見つけるために、pyautoguiを使用することにします。
入力フィールドと送信ボタンのスクリーンショットを取り、Pythonファイルと同じディレクトリに保存します。
pyautoguiのlocateCenterOnScreen(‘image_path’)を使用して、画面上のこれらの画像の中心座標を見つけ、この座標をmoveTo()メソッドに渡して、カーソルをテキストフィールドとボタンに移動させます。
enter_passcode = py.locateCenterOnScreen( 'passcode.png' )
py.moveTo(enter_passcode) py.click() py.write(passcode) |
上記のコードでは、テキストボックスを見つけて、writeメソッドで埋めています。
btn = py.locateCenterOnScreen( "zoomjoin.png" )
py.moveTo(btn) py.click() |
このように、Pythonスクリプトを実行するだけで、どんな会議にも自動的に参加することができるようになります。
こちらもお読みください。
Complete Python Script to Auto Join Zoom Meetings
ボットの最終コードです。
from selenium import webdriver
import pyautogui as py
import time
passcode = "9pX9PT"
meet_code = "272 916 9386"
def join(meet, password):
driver = webdriver.Chrome( 'C://software/chromedriver.exe' )
driver.get( 'https://zoom.us/join' )
time.slee( 5 ) #to let the webpage open completely
driver.find_element_by_xpath( "//input[@id='join-confno']" ).send_keys(meet_code)
time.sleep( 2 )
driver.find_element_by_xpath( "//a[@id='btnSubmit']" ).click()
time.sleep( 5 )
# enter passcode
enter_passcode = py.locateCenterOnScreen( 'passc.png' )
py.moveTo(enter_passcode)
py.click()
py.write(passcode)
# join the meeting
time.sleep( 5 )
btn = py.locateCenterOnScreen( "join.png" )
py.moveTo(btn)
py.click()
join(meet_code,passcode) |
このスクリプトでは、さらに、特定の時間に会議に参加したり、退出したりするためのアプローチをとることができます。
また、Google MeetやMicrosoft Teamsなど、他の会議クライアント用のボットを作ることもできます。
結論
ボットの作成は以上です。
Zoomの会議に自動参加するボットの作り方を知って、会議のボットを作ってタスクを自動化する準備ができたと思います。