スナックelve 本店

バツイチ40代女の日記です

【取り扱い注意】はてなブログクリーナー

過去記事インポート依頼中。

前作ったのが動かなくなってたので修正
Seleniumが4になってたりなんだり?
ブログを削除はしないけど記事を全消ししたいときにご参照ください。
たまに止まりますw(再実行を繰り返すしかないw)

# Use Webdriver Manager for Python: https://github.com/SergeyPirogov/webdriver_manager

# Import code:
from selenium import webdriver
from time import sleep
import re
from selenium.webdriver.common.by import By

URL = 'https://elve.hatenadiary.jp/'#削除するURL
ID = 'elve'#はてなID

##### 後で消す#####
PASS = '****************'#パスワード


# Chrome Webドライバー の インスタンスを生成
driver = webdriver.Chrome()

# ログイン画面
driver.get("https://www.hatena.ne.jp/login")
sleep(0.5)
hatena_id =  driver.find_element(By.ID, "username")
hatena_pass =  driver.find_element(By.ID, "password")
hatena_id.send_keys(ID)
sleep(1)
hatena_pass.send_keys(PASS)
sleep(1)
login_button = driver.find_element(By.CSS_SELECTOR, "button[type='submit']")
login_button.click()
sleep(1)
# 記事の管理
# 'https://blog.hatena.ne.jp/'+ID+URL+'/config'

driver.get('https://blog.hatena.ne.jp/'+ID+'/' +
           re.sub('https*://', '', URL)+'entries')
sleep(0.5)
#次のページがある限りループ
while True:
    #すべての記事にチェック
    allchkbox = driver.find_element(By.XPATH,'//*[@id="admin-main-wrapper-inner"]/div[2]/section/div[7]/table/thead/tr/th[1]/div[1]/input')
    if not allchkbox.is_selected():
        allchkbox.click()
    #削除
    dlbtn = driver.find_element(By.XPATH,'//*[@id="admin-main-wrapper-inner"]/div[2]/section/div[7]/div[1]/div[2]/button')
    dlbtn.click()
    #削除しますか→OK
    driver.switch_to.alert.accept()
    try:
        #次のページ取得
        nt = driver.find_element(By.CLASS_NAME,'pager')
        #クリックしてすべてのチェックボックスリセット
        nt.click()
        sleep(0.8)
        allchkbox.click()
        sleep(0.5)
    except:
        break