pythonでfacebookに自動ログインする方法を
やって見たいと思います。
1.事前にやっておくこと
まず最初に各ファイルのインストールから始めましょう。
各ファイルのインストール方法は、上記リンクで詳細に
記載しておきましたので各自参考にしてみて下さいね。
2.ソースコードの書き方・貼り付け方
インストールが終わっていれば、Windows11ではVSCodeのアイコンが表示されるはずです。
自動投稿ツールの始めて練習として「Facebook」への
自動ログインのプログラミングをしてみましよう。
図ではこのようになります。

Pythonのコードは誰が作成してもほぼよく似たコードに
なります。




***************************************************
import click
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
import time
from selenium.webdriver.common.action_chains import ActionChains
PATH = ‘chromedriver.exe’
##### Handling of Allow Pop Up In Facebook
option = Options()
option.add_argument(“–disable-infobars”)
option.add_argument(“start-maximized”)
option.add_argument(“–disable-extensions”)
# Pass the argument 1 to allow and 2 to block
option.add_experimental_option(“prefs”, {
“profile.default_content_setting_values.notifications”: 2
})
driver = webdriver.Chrome(chrome_options=option, executable_path=PATH)
driver.maximize_window()
driver.get(“https://www.facebook.com/”)
###Login To The Account
def login(id,password):
email = driver.find_element_by_id(“email”)
email.send_keys(id)
Password = driver.find_element_by_id(“pass”)
Password.send_keys(password)
button = driver.find_element_by_name(“login”).click()
pass
#### Post Content On FaceBook
def post_content(post):
time.sleep(15)
botun = driver.find_element_by_xpath(‘//*[@id=”mount_0_0_yf”]/div/div[1]/div/div[4]/div/div/div[1]/div/div[2]/div/div/div/form/div/div[1]/div/div/div/div[2]/div[1]/div[1]/div[1]/div/div/div/div/div/div/div[2]/div’)
time.sleep(10)
botun.clear()
botun.send_keys(post)
textbox = driver.find_element_by_xpath(‘//*[@id=”mount_0_0_P8″]/div/div[1]/div/div[3]/div/div/div[1]/div[1]/div/div[2]/div/div/div/div[3]/div/div[2]/div/div/div/div[1]/div/div[1]/span’)
botun.click()
textbox.send_keys(post)
time.sleep(5)
driver.find_element_by_xpath(‘//*[@id=”mount_0_0_P8″]/div/div[1]/div/div[3]/div/div/div[1]/div[1]/div/div[2]/div/div/div/div[3]/div/div[2]/div/div/div/div[1]/div/div[1]/span’).send_keys(“tweetしたい内容をここに入れる”)
driver.click
textbox.send_keys(post)
actions= ActionChains(driver) ##Action Chains
textbox.send_keys(post)
textbox.send_keys(Keys.TAB) ##Press TAB
textbox.send_keys(Keys.ENTER) ##Press ENTER
textbox.send_keys(Keys.ENTER) ### Press ENTER to post the content on facebook
textbox.perform() ## To perfrom all the operations in the action chains
pass
login(“123abc@gmail.com”,”pass12345″) ###←自分のメールアドレスとパスワードを入力すること。
time.sleep(5)
content = “I am a Bot Posting On Facebook” ## Demo Content
post_content(content)
*************************************************
ここまで

3.xpathの見つけ方
driver.find_element_by_xpath(‘//*[@id=”mount_0_0_P8″]/div/div[1]/div/div[3]/div/div/div[1]/div[1]/div/div[2]/div/div/div/div[3]/div/div[2]/div/div/div/div[1]/div/div[1]/spa
と有りますが、xpathは自分で開いたサイトで調べて見て下さい。
一般的には『name』です
driver.find_element_by_name(“button”)のようになっていますので、『ページのソースを表示』で見られて楽なんですがが、nameの記載が見あたらない場合は下記の様xpathを見つけて下さい。
①ログイン画面で右クリック
②検証をクリック
③右側に出てくる文字群で右クリック
④copyを選択
⑤copy Xpathを選択
⑥以下に記載するCopyされる文字群がxpathとなります
{//*[@id=”mount_0_0_L7″]/div/div[1]/div/div[3]/div/div/div[1]/div[1]/div/div[2]/div/div/div/div[3]/div/div[2]/div/div/div/div[1]/div/div[1]/span}
これがxpathです。