python+selenium UI腳本用例

1.最近在用公司的一個工具拉取一些業務數據時發現有很多重複的頁面操作,每次都要重複的選擇機構與對應的表,點擊添加操作(十幾家機構加起來要手工添加兩百多次),於是用python寫了一個UI腳本讓機器去執行這些重複的操作,即省時效率又高。

#coding:utf8
from selenium import webdriver
from config.params import *
from selenium.webdriver.support.ui import Select
import time

class pullData():

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()

if name=="main":
pullD = pullData(url)
pullD.openBrowser()
pullD.hospitalConfig()
pullD.deleteCords()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章