iT邦幫忙

2021 iThome 鐵人賽

DAY 11
10
Software Development

奇怪的知識增加了!原來程式還可以這樣用?!系列 第 11

[Day11] 打完疫苗睡死要怎麼發文? 讓程式幫你完成鐵人賽!

我現在完全在一個發燒昏睡的狀態,打完疫苗手有夠酸根本舉不起來,
但是我今天還是順利的完成鐵人發文了,這是怎麼做到的呢?
答案就是Selenium + WebDriver喔!

之前看到有人打好草稿卻忘記發文,要重新報名一次鐵人賽,
我在這裡鄭重地跟他道歉,對不起,我太晚出現在你的生命裡了!
如果我早點發這篇,你就不會忘記發文了>< (打文章的時候還沒發燒,所以才有心情開玩笑)

使用環境

程式碼

from selenium import webdriver
import time
import datetime

options = webdriver.ChromeOptions()
prefs = {
    'profile.default_content_setting_values':
        {
            'notifications': 2
        }
}
options.add_experimental_option('prefs', prefs) 
options.add_argument("disable-infobars") 

driver = webdriver.Chrome(options=options) # 我是用chrome,如果用別的瀏覽器要改
driver.maximize_window() # 視窗最大化


driver.get("https://ithelp.ithome.com.tw/articles/10260989/draft") # 前往我要發的草稿文章連結

driver.find_element_by_id('account').send_keys('你的帳號') # 填入帳號
driver.find_element_by_id('password').send_keys('你的密碼') # 填入密碼
driver.find_element_by_xpath('/html/body/div/div/div/form/button').click() # 點登入
while True:
    time.sleep(1) #每一秒偵測一次時間
    time_now = datetime.datetime.now() # 開始計時
    print(time_now)
    if time_now.month==9 and time_now.day==11 and time_now.hour==12 and time_now.minute == 00 and time_now.second==00: # 設定你要發文的時間
        driver.get("https://ithelp.ithome.com.tw/articles/10260989/draft") # 回到草稿網址
        driver.find_element_by_xpath('/html/body/div[3]/div/div/div[1]/div/form[2]/div[4]/div[2]/div/button').click() # 點儲存草稿旁邊的三角形
        time.sleep(2)        driver.find_element_by_xpath('/html/body/div[3]/div/div/div[1]/div/form[2]/div[4]/div[2]/div/ul/li[1]/input').click() # 點發表文章,下下篇再解釋元素定位方法喔

成果發表會

因為測試草稿沒打內文所以不會被發出去~
如果要設定一次發很多篇,可以把要發的草稿連結放到陣列裡面設定每天12點跑喔!

大家要記得一定要裝WebDriver才能執行上面的程式碼喔!
詳細的Selenium用法我們明天跟環境安裝一起講~
祝大家都能鍊成鐵人!


上一篇
[Day10] 捉姦最終步驟! 把程式放在工作排程器偷偷執行吧!
下一篇
[Day12] WebDriver安裝教學aka自動發文器第二集
系列文
奇怪的知識增加了!原來程式還可以這樣用?!24
1
lagagain
iT邦新手 4 級 ‧ 2021-09-11 12:17:09

打卡/images/emoticon/emoticon34.gif

你也是昨天打疫苗喔?


另外推個其實我沒用過的東西XD

  • Selenium IDE
    貌似可以直接用錄製的。
  • sikuli and sikuliX
    雖然精度好像有點低,但很有去的工具。
lulu_meat iT邦新手 4 級 ‧ 2021-09-12 12:02:06 檢舉

實在是太不舒服了,趁現在退燒趕快來發文

1
gior__ann
iT邦新手 4 級 ‧ 2021-09-11 13:44:04

跪求新功能~

幫我寫文章順便發文~ XD
不然我睡死了,忘記文章還沒寫/images/emoticon/emoticon01.gif

Marvin iT邦新手 5 級 ‧ 2021-09-11 13:58:29 檢舉

這就用 AI,練出一個自己風格的 model,剛好,也是 Python 可以做到的

gior__ann iT邦新手 4 級 ‧ 2021-09-11 14:42:19 檢舉

/images/emoticon/emoticon24.gif這真的可以做到? 太強了吧~ XD
可以來找看看

Marvin iT邦新手 5 級 ‧ 2021-09-12 09:58:47 檢舉

做是做得到,但現在中文領域比較弱,英文的話,已經有應用在新聞產業上了。

這篇文章可以參考

https://leemeng.tw/how-to-generate-interesting-text-with-tensorflow2-and-tensorflow-js.html

1
jiatool
iT邦新手 5 級 ‧ 2021-09-12 09:37:29

10 號打疫苗 +1
文字編輯器推 VS Code,個人覺得比 notepad++ 好用

lulu_meat iT邦新手 4 級 ‧ 2021-09-12 12:03:29 檢舉

我都拿notepad++看log,順便拿來寫程式哈哈XD

0
Homura
iT邦高手 1 級 ‧ 2021-09-14 16:34:15

想到以前有邦友分享過
寫成html自動發文的方法
https://ithelp.ithome.com.tw/questions/10130425

我要留言

立即登入留言