1.最近在用公司的一個工具拉取一些業務資料時發現有很多重複的頁面操作,每次都要重複的選擇機構與對應的表,點選添加操作(十幾家機構加起來要手工添加兩百多次),于是用python寫了一個UI腳本讓機器去執行這些重複的操作,即省時效率又高。
path="E:/chromedriver.exe"
def __init__(self,url):
self.url=url
self.wd = webdriver.Chrome(self.path)
def openBrowser(self):
self.wd.get(self.url)
self.wd.maximize_window()
def closeBrowser(self):
self.wd.quit()
def findeleOrg(self):
hospitals = self.wd.find_elements_by_css_selector("select[name='hospitalCode']>option")
return hospitals
def findeledept(self):
hospitalDatatype = self.wd.find_elements_by_css_selector('select[name$="DataType"]>option')
return hospitalDatatype
def deleteCords(self):
while True:
cords=self.wd.find_elements_by_css_selector("table[border='1'] tr>td:nth-of-type(8)>input[value='删除']")
if len(cords)==0:
break
cords[0].click()
time.sleep(1) #定位元素前後要加等待時間,特别是重新整理的頁面
def hospitalConfig(self):
self.wd.find_element_by_partial_link_text(u"醫院視圖SQL").click()
hospitals=self.findeleOrg()
hospitalDatatype=self.findeledept()
for num in range(len(hospitals)-1):
hospitals = self.findeleOrg()
hospitals[num].click()
for numdata in range(len(hospitalDatatype)-1):
hospitals = self.findeleOrg()
hospitals[num].click()
hospitalDatatype = self.findeledept()
time.sleep(1)
hospitalDatatype[numdata].click()
time.sleep(2)
self.wd.find_element_by_css_selector("input[type='submit']").click()
self.wd.find_element_by_id("submit_id").click()
self.wd.find_element_by_partial_link_text(u"醫院視圖SQL").click()