🐶今日は、seleniumを使ってtwitterにログインしてTweetする
🐍API条件きつくて辛い。。
🐶完成したコードをおいとくで
🐍書き換えの場所は
+ twitterID
+ twitterPass
+ tweet
+ webdriver.Chrome
🐍ここはしっかり変えないと動かないで
from selenium import webdriver
import time
#driverの定義
driver = webdriver.Chrome("C:/chromedriver.exe")
#twitterIDとtwitterPassを入力
twitterID="TwitterID"
twitterPass="パスワード"
#ツイート内容を入力
tweet="tweet内容 https://www.coderecipe.org/"
#twitter Login
def twitterLogin(twitterID,twitterPass):
driver.get('https://www.twitter.com/')
time.sleep(1)
#ログインをクリック
driver.find_element_by_css_selector('#doc > div > div.StaticLoggedOutHomePage-content > div.StaticLoggedOutHomePage-cell.StaticLoggedOutHomePage-utilityBlock > div.StaticLoggedOutHomePage-signupBlock > div.StaticLoggedOutHomePage-noSignupForm > div > a.js-nav.EdgeButton.EdgeButton--medium.EdgeButton--secondary.StaticLoggedOutHomePage-buttonLogin').click()
time.sleep(2)
#IDを入力
driver.find_element_by_css_selector('#page-container > div > div.signin-wrapper > form > fieldset > div:nth-child(2) > input').send_keys(twitterID)
time.sleep(2)
driver.find_element_by_css_selector('#page-container > div > div.signin-wrapper > form > fieldset > div:nth-child(3) > input').send_keys(twitterPass)
time.sleep(2)
driver.find_element_by_css_selector('#page-container > div > div.signin-wrapper > form > div.clearfix > button').click()
time.sleep(2)
def twitterTweet(tweet):
driver.find_element_by_css_selector('#global-new-tweet-button').click()
time.sleep(2)
driver.find_element_by_css_sedriver = webdriver.Chrome("C:/chromedriver.exe")lector('#Tweetstorm-tweet-box-0 > div.tweet-box-content > div.tweet-content > div.RichEditor.RichEditor--emojiPicker.is-fakeFocus > div.RichEditor-container.u-borderRadiusInherit > div.RichEditor-scrollContainer.u-borderRadiusInherit > div.tweet-box.rich-editor.is-showPlaceholder').send_keys(tweet)
time.sleep(2)
driver.find_element_by_css_selector('#Tweetstorm-tweet-box-0 > div.tweet-box-content > div.TweetBoxToolbar > div.TweetBoxToolbar-tweetButton > span > button.SendTweetsButton.EdgeButton.EdgeButton--primary.EdgeButton--medium.js-send-tweets').click()
time.sleep(120)
twitterLogin(twitterID,twitterPass)
twitterTweet(tweet)
🐶
find_element_by_css_selector
でCSSセレクターに一致する最初の要素をとってくるねん。find_elements_by_css_selector
にするとリスト要素になるからそこも注意な
🐍CSSセレクターは、検証ツールとかからコピーできるよ。
🐶seleniumはブラウザを動かすツールやからレスポンス待つ時間を入れないと要素を読み込まない時があるねん
🐍秒数の2秒はデータやサーバーで変わるよ。
🐶これは指定する動作をクリックする命令や。
🐍秒数の2秒はデータやサーバーで変わるよ。
🐶ポイントをまとめると
find_element_by_css_selector
で場所指定.click()
でクリック動作time.sleep(2)
は応答待ちで使う🐍seleniumにはまだまだ色々な機能があるよ
第1回 | Pythonで計算機を作る |
第2回 | seleniumを使ってWebサイトを表示する |
第3回 | seleniumを使ってtwitterにログインしてTweetする |
第4回 | パパ活Python 1桁の足し算全パターンを生成 |
第5回 | パパ活Python 1桁の引き算全パターンを生成 |
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント