SeleniumでTeamsにリッチに投稿をする

SeleniumでTeamsに装飾と化して立地に投稿したいんだよ!

っと思ったので各種書式を利用し、Python+Seleniumのブラウザ経由でTeamsに投稿する手順を記載します。

スポンサーリンク

更新履歴

日時更新内容
2021-09-11新規作成
2021-09-14「エラーした場合」を追加

下準備

seleniumでリッチに登録するには「書式」をクリックしてメニューを表示させます。

↓書式をクリックして、、、

↓メニューを表示させます。

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-expand-compose']").click()

メニューを表示させて以降は次の見出しのように処理していくことで投稿内容を装飾することができます。

書式の選択の仕方

太字

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-Bold']").click()
driver.find_element_by_class_name("cke_textarea_inline").send_keys("Bold")

イタリック

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-Italic']").click()
driver.find_element_by_class_name("cke_textarea_inline").send_keys("Italic")

下線

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-Underline']").click()
driver.find_element_by_class_name("cke_textarea_inline").send_keys("Underline")

取り消し線

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-Strike']").click()
driver.find_element_by_class_name("cke_textarea_inline").send_keys("Strike")

テキストのハイライトカラー

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-TextHighlightColor']").click()
driver.find_element(By.XPATH, "//button[@data-tid='HighlightColor-red10']").click() #赤
カラーdata-tid
コピ レッドHighlightColor-red10
ローズ パッドHighlightColor-orange10
ゴールデンロッドHighlightColor-yellow10
プリムローズHighlightColor-neon01
マンティスHighlightColor-greenApple10
リージェント ストリート ブルーHighlightColor-lightTeal10
ペリウィンクル グレーHighlightColor-navyBlue12
ベール ローズHighlightColor-maroon12
ハイライトなしHighlightColor-Clear
data-tidの数字がバラバラなので将来的に一致しない可能性が高そう

フォントの色

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-FontColor']").click()
driver.find_element(By.XPATH, "//button[@data-tid='FontColor-red']").click() #赤
カラーdata-tid
レッドFontColor-red
トスカーナ オレンジFontColor-darkOrange08
サングロウFontColor-yellow08
ペアFontColor-neon04
ユーカリFontColor-greenApple04
フェード シェイドFontColor-lightTeal02
ファン ブルーFontColor-navyBlue08
ティアリン パープルFontColor-maroon06
自動(カラークリア)FontColor-Clear
data-tidの数字がバラバラなので将来的に一致しない可能性が高そう

フォント サイズ

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-FontSize']").click()
driver.find_element(By.XPATH, "//a[@data-tid='FontSizeLarge']").click() #大
driver.find_element_by_class_name("cke_textarea_inline").send_keys("FontSize")
フォントサイズdata-tid
FontSizeLarge
FontSizeMedium
FontSizeSmall

段落

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-RichStyle']").click()
driver.find_element(By.XPATH, "//a[@data-tid='h1']").click() #見出し1
driver.find_element_by_class_name("cke_textarea_inline").send_keys("h1")
段落data-tid
見出し1h1
見出し2h2
見出し3h3
段落div
等幅pre

インデントを増やす

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-Indent']").click()
driver.find_element_by_class_name("cke_textarea_inline").send_keys("インデントを増やす")

インデントを減らす

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-Outdent']").click()
driver.find_element_by_class_name("cke_textarea_inline").send_keys("インデントを減らす")

箇条書き

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-BulletedList']").click()
driver.find_element_by_class_name("cke_textarea_inline").send_keys("newMessageCommands-BulletedList1")
driver.find_element_by_class_name("cke_textarea_inline").send_keys(Keys.SHIFT,"\n") #Shift押しながらであれば次の行に黒点がつかない
driver.find_element_by_class_name("cke_textarea_inline").send_keys("newMessageCommands-BulletedList2")
driver.find_element_by_class_name("cke_textarea_inline").send_keys("\n") #Shift押しながらであれば次の行に黒点がつく
driver.find_element_by_class_name("cke_textarea_inline").send_keys("newMessageCommands-BulletedList3")

番号付きリスト

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-NumberedList']").click()
driver.find_element_by_class_name("cke_textarea_inline").send_keys("newMessageCommands-NumberedList1")
driver.find_element_by_class_name("cke_textarea_inline").send_keys(Keys.SHIFT,"\n") #Shift押しながらであれば次の行に黒点がつかない
driver.find_element_by_class_name("cke_textarea_inline").send_keys("newMessageCommands-NumberedList2")
driver.find_element_by_class_name("cke_textarea_inline").send_keys("\n") #Shift押しながらであれば次の行に黒点がつく
driver.find_element_by_class_name("cke_textarea_inline").send_keys("newMessageCommands-NumberedList3")

引用

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-BlockQuote']").click()
driver.find_element_by_class_name("cke_textarea_inline").send_keys("newMessageCommands-BlockQuote")

リンクを挿入

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-InsertHyperlink']").click()

重要フラグ

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-toggle-importance']").click()

水平線を挿入

driver.find_element(By.XPATH, "//button[@data-tid='newMessageCommands-HorizontalRuleCommand']").click()

エラーする場合

selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable

↑とエラーが出る場合、クリックしたいメニューが隠れてるかもしれません。そのときはウインドウサイズを広げたりして表示させればOK

スポンサーリンク
おすすめの記事