pythonでfacebookに自動ログインする方法を
やって見たいと思います。

1.事前にやっておくこと

まず最初に各ファイルのインストールから始めましょう。

1.pythonのインストール

2.seleniumのインストール

3.GoogleChromeDriverのインストール

4.VSCodeの日本語化インストール

5.anconda3のインストール

各ファイルのインストール方法は、上記リンクで詳細に
記載しておきましたので各自参考にしてみて下さいね。

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です。