プログラムとその他いろいろメモ

twitterの投稿をPythonでのseleniumによるchrome操作で実行する方法

ツイッターへの投稿を予約投稿でやりたいなぁと思ったので
まず、Pythonでtwitterへ投稿を実行できるようにしてみたいと思います。

あとでコレに予め用意した投稿用テキストを読む機能と時間にあわせて予約投稿を実行する機能を追加すれば完成になります。

ツイッターへ投稿するPythonのプログラム

from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.chrome.options import Options

import os
import time

os.system("taskkill /F /IM chrome.exe")


#------------------------------------
#ユーザー名
UserDir="****"
#------------------------------------
 
options = webdriver.ChromeOptions()
 
pp=r"C:\\Users\\"+UserDir+"\\AppData\\Local\\Google\\Chrome\\User Data"
options.add_argument('--user-data-dir='+pp)
options.add_argument('--profile-directory=Default')
 
web=webdriver.Chrome(options=options)
web.get("https://twitter.com/home")


time.sleep(5)

el=web.find_element_by_class_name("notranslate")
el.send_keys("ツイッターの\n入力テスト")


time.sleep(5)

el=web.find_element_by_xpath('//*[@data-testid="tweetButtonInline"]')
el.click()

Pythonで今開いてるchromeを全て閉じさせる方法で記した通り
まず起動しているChromeを終了し
ユーザプロファイルを参照してchromeを起動するPythonでのseleniumによるchrome操作でログイン画面等を回避する方法と同じ方法でログイン画面を回避しておきます。

ツイッターの投稿部分としては
web.get(“https://twitter.com/home”)
でツイッターのホーム画面を開き

el=web.find_element_by_class_name(“notranslate”)
で投稿文字エリアのエレメントを取得し

el.send_keys(“ツイッターの\n入力テスト”)
で投稿文字エリアに文字を送ります。

最後に
el=web.find_element_by_xpath(‘//*[@data-testid=”tweetButtonInline”]’)
el.click()
で「ツイートする」ボタンのエレメントを取得してボタンをクリックさせます。

これでツイートする事がPythonでできます。

モバイルバージョンを終了