国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

基于python+selenium自動健康打卡的實(shí)現(xiàn)代碼

瀏覽:2日期:2022-06-30 08:44:15
每天都要記得健康打卡

尊敬的老師,我忘了這次的健康打卡,反思的時候我想了很多東西,反省了很多事情,自己也很懊悔,觸犯了學(xué)校的規(guī)定,深刻認(rèn)識到自己所犯錯誤的嚴(yán)重性… 卡!那是小學(xué)生才有的檢討。作為一個有點(diǎn)懶的人,對于每次的健康打卡,都是做著重復(fù)性的填寫,這讓本人很是頭疼,那就找找止疼藥吧

使用的工具

需要有一定的python,html基礎(chǔ),和實(shí)踐能力(畢竟實(shí)踐出真知,實(shí)踐能力強(qiáng),你可以忽略前兩個,你是最棒的?。?/p> Pycharm ,在pycharm官網(wǎng)里面下載社區(qū)版或?qū)I(yè)版(沒其他的用途推薦用社區(qū)版); Python 我使用的是python3.8,在官網(wǎng)下載,可參考python安裝,配置好環(huán)境變量方便cmd 裝包; Selenium在cmd輸入 pip install selenium ,分布式自動化測試工具,用于模擬用戶在瀏覽器的行為; Chromedriver 這個是在pycharm里面驅(qū)動Chrome瀏覽器,下載后解壓放在Script下面,Chromedriver需要和自己的谷歌瀏覽器版本相對應(yīng)

基于python+selenium自動健康打卡的實(shí)現(xiàn)代碼

置于桌面 將你寫好的py文件放在桌面或者你設(shè)置開機(jī)自啟動管理運(yùn)行該程序就可以了

基于python+selenium自動健康打卡的實(shí)現(xiàn)代碼

接下來就是代碼了

代碼中必要的地方都進(jìn)行了注釋,注釋的多的地方就是我停留較久的地方,,,實(shí)習(xí)自動打卡的功能算是實(shí)現(xiàn)了,但還是有一些問題,比如說網(wǎng)絡(luò)延時,當(dāng)網(wǎng)頁還未加載出來,你就無法定位該html元素,該程序就無法正常執(zhí)行完操作,可以發(fā)一封郵件提醒你補(bǔ)填。歡迎大家共同探討遇到的問題或者文章中有其他不足之處還望雅正。

import timefrom selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.action_chains import ActionChains# 腳本自動登錄該網(wǎng)頁driver = webdriver.Chrome()# 將健康表的地址copy過來就行driver.get('你的健康表地址')time.sleep(2)print('開始點(diǎn)擊----立即登錄')# 第一次點(diǎn)擊登錄跳轉(zhuǎn)driver.find_element_by_xpath(’//*[@id='header-login-btn']’).click()time.sleep(5)print('開始點(diǎn)擊快速登錄')# # selenium判斷元素是否可以點(diǎn)擊或者處理# element = driver.find_element_by_id('img_out_191736586')# element = driver.find_element_by_xpath(’//*[@id='img_out_191733686']’)# bianji = element.is_enabled() #是否可以編輯,或者按鈕是否可以點(diǎn)擊# xinashi = element.is_displayed() #:判斷元素是否顯示# xunazhong = element.is_selected() #:判斷元素是否選中狀態(tài)# print(bianji,xinashi,xunazhong)# element.click()# 想了想為啥定位不到那個快速登錄元素,原來html知識不夠,切進(jìn)iframedriver.switch_to.frame(0) # 1.用frame的index來定位,第一個是0# driver.switch_to.frame('frame1') # 2.用id來定位# driver.switch_to.frame('myframe') # 3.用name來定位# driver.switch_to.frame(driver.find_element_by_tag_name('iframe')) # 4.用WebElement對象來定位# 快捷登錄driver.find_element_by_xpath(’//*[@id='img_out_1917336586']’).click()# driver.find_elements_by_class_name(’img_out_focus’)[0].click()time.sleep(15)print('點(diǎn)擊大數(shù)據(jù)人工智能一班SHEET')# driver.find_elements_by_class_name('sheet-tab-name')[2].click()driver.find_element_by_xpath(’//*[@id='sheetbar']/div[2]/div[3]/div/div[4]/span’).click()time.sleep(3)print('開始點(diǎn)擊更多')driver.find_element_by_xpath(’//*[@id='toobarMoreButton']/div/div/div[1]’).click()# driver.find_element_by_class_name('toolbar-menu-button-more toolbar-inline-block').click()time.sleep(10)print('點(diǎn)擊搜索')driver.find_elements_by_xpath(’//*[@id='sheet-search-button']/div/div/div’)[1].click()time.sleep(3)print('開始點(diǎn)擊搜索框')getinput = driver.find_element_by_xpath(’//*[@id='search-panel-input']’)getinput.send_keys('北極熊')time.sleep(2)print('已獲取該位置' + getinput.location)time.sleep(2)# Key.tab選擇,Kys.enter確定結(jié)束driver.find_element_by_id(’alloy-simple-text-editor’).click()driver.find_element_by_id(’alloy-simple-text-editor’).send_keys('')ActionChains(driver).key_down(Keys.TAB).perform()ActionChains(driver).key_down(Keys.TAB).perform()driver.find_element_by_id(’alloy-simple-text-editor’).click()driver.find_element_by_id(’alloy-simple-text-editor’).send_keys('是')ActionChains(driver).key_down(Keys.TAB).perform()ActionChains(driver).key_down(Keys.TAB).perform()driver.find_element_by_id(’alloy-simple-text-editor’).click()driver.find_element_by_id(’alloy-simple-text-editor’).send_keys('是')ActionChains(driver).key_down(Keys.TAB).perform()ActionChains(driver).key_down(Keys.TAB).perform()ActionChains(driver).key_down(Keys.TAB).perform()driver.find_element_by_id(’alloy-simple-text-editor’).click()driver.find_element_by_id(’alloy-simple-text-editor’).send_keys('否')ActionChains(driver).key_down(Keys.TAB).perform()ActionChains(driver).key_down(Keys.TAB).perform()driver.find_element_by_id(’alloy-simple-text-editor’).click()driver.find_element_by_id(’alloy-simple-text-editor’).send_keys('否')ActionChains(driver).key_down(Keys.TAB).perform()driver.find_element_by_id(’alloy-simple-text-editor’).click()driver.find_element_by_id(’alloy-simple-text-editor’).send_keys('填寫你的地址')driver.find_element_by_id(’alloy-simple-text-editor’).send_keys(Keys.ENTER)time.sleep(1)小結(jié)

上面的代碼是根據(jù)我所填寫的健康表流程寫的,或許你并不能直接拿過去用,(這也正是我所期望的,哈哈),但是里面的功能實(shí)現(xiàn)比較清楚的,這樣你就可以按照你的流程寫代碼了。Good good study, day day up.

到此這篇關(guān)于基于python+selenium自動健康打卡的文章就介紹到這了,更多相關(guān)selenium自動健康打卡內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 山西省| 嘉义市| 南靖县| 临西县| 措美县| 赣榆县| 陇西县| 洪雅县| 奎屯市| 诸暨市| 三河市| 丰都县| 扎囊县| 桂东县| 永州市| 雷波县| 涟水县| 八宿县| 永州市| 新源县| 麟游县| 本溪市| 易门县| 乌什县| 石门县| 会理县| 剑河县| 曲麻莱县| 瓦房店市| 江西省| 项城市| 聊城市| 南平市| 弋阳县| 康定县| 奉贤区| 清苑县| 许昌县| 读书| 新邵县| 新乐市|