python+selenium UI脚本用例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()
以上是关于python+selenium UI脚本用例的主要内容,如果未能解决你的问题,请参考以下文章
Python3+Selenium Web自动化测试案例分享⑹——unittest组织测试用例