一、思路
釘釘打卡的操作分為兩步,一是登錄釘釘,二是進行打卡操作。因此,我們的自動打卡腳本應該包含這兩個部分的實現。下面,我將分別給出這兩個部分的詳細實現。
二、登錄釘釘
1、首先,我們需要使用selenium庫模擬瀏覽器操作,打開釘釘登錄頁面。
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless') # 使用無頭瀏覽器,提高效率
options.add_argument('--no-sandbox') # 禁止沙箱,提高效率
browser = webdriver.Chrome(chrome_options=options)
url = 'https://login.taobao.com/member/login.jhtml'
browser.get(url)
2、接著,我們需要找到需要輸入賬號密碼的輸入框,模擬鍵入。並找到登錄按鈕,模擬點擊。
account = browser.find_element_by_name('fm-login-id')
password = browser.find_element_by_name('fm-login-password')
account.send_keys('your account')
password.send_keys('your password')
submit = browser.find_element_by_css_selector('input[type="submit"]')
submit.click()
3、等待一段時間,直到登錄成功。
time.sleep(5) # 等待5秒,確保已經成功登錄
三、自動打卡
1、登錄成功後,我們需要找到頁面上的打卡按鈕,並模擬點擊。
clock_in_button = browser.find_element_by_xpath('//*[@id="microApp-2425"]/div/div[3]/a[2]')
clock_in_button.click()
2、等待頁面載入完成,找到打卡按鈕,並模擬點擊。
time.sleep(5) # 等待5秒,確保頁面已經載入
clock_in_button = browser.find_element_by_xpath('//*[@id="main"]/div/div/div[2]/div[2]/div[1]/div[2]/div/div[2]/div[5]/div[4]/div[2]/div')
clock_in_button.click()
3、等待打卡成功的提示框出現,並關閉提示框。
time.sleep(5) # 等待5秒,確保打卡成功
success_button = browser.find_element_by_xpath('/html/body/div[4]/div[3]/div/button[2]')
success_button.click()
四、完整代碼
import time
from selenium import webdriver
def login_dingtalk():
options = webdriver.ChromeOptions()
options.add_argument('--headless') # 使用無頭瀏覽器,提高效率
options.add_argument('--no-sandbox') # 禁止沙箱,提高效率
browser = webdriver.Chrome(chrome_options=options)
url = 'https://login.taobao.com/member/login.jhtml'
browser.get(url)
account = browser.find_element_by_name('fm-login-id')
password = browser.find_element_by_name('fm-login-password')
account.send_keys('your account')
password.send_keys('your password')
submit = browser.find_element_by_css_selector('input[type="submit"]')
submit.click()
time.sleep(5) # 等待5秒,確保已經成功登錄
clock_in_button = browser.find_element_by_xpath('//*[@id="microApp-2425"]/div/div[3]/a[2]')
clock_in_button.click()
time.sleep(5) # 等待5秒,確保頁面已經載入
clock_in_button = browser.find_element_by_xpath('//*[@id="main"]/div/div/div[2]/div[2]/div[1]/div[2]/div/div[2]/div[5]/div[4]/div[2]/div')
clock_in_button.click()
time.sleep(5) # 等待5秒,確保打卡成功
success_button = browser.find_element_by_xpath('/html/body/div[4]/div[3]/div/button[2]')
success_button.click()
五、總結
以上就是釘釘自動打卡腳本的完整實現。代碼中使用了selenium庫來模擬瀏覽器操作,實現了自動登錄和自動打卡的功能。如需使用,只需要將賬號密碼填入代碼中,並安裝selenium庫即可。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/300861.html