selenium登录界⾯,创建表单并填写提交#! python3
# -*- coding:utf8 -*-
# adthedocs.io/api.html#webdriver.WebDriver.switch_to_frame #⾃动提交表单
from selenium import webdriver
import time
import openpyxl
#读取Excel数据
wb=openpyxl.load_workbook('E:\\work\\newFile.xlsx')
_sheet_by_name('Sheet')
iframe参数传递max_rowss=sheet.max_row
datass=[[] for i in range(max_rowss-1)]
n=0
for i in range(2,max_rowss+1):
ll(row=i,column=1).value == None:
break
n+=1
for j in range(1,7):
datass[n-1].ll(row=i,column=j).value)
ll(row=i,column=j).value)
print('******row %d is done*******' % (n) )
#打开浏览器
bs=webdriver.Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver')
<('172.18.135.40:8081/auth/login')
a=bs.find_element_by_name("usr_name")
b=bs.find_element_by_name("password")
a.send_keys('usrname')
b.send_keys('pswd')
#跳转登录
b.submit()
#c=bs.find_element_by_xpath("//input[@type='submit']")
#c.click()
#转⾄默认内容
time.sleep(1)
bs.switch_to_default_content()
c=bs.find_element_by_link_text(u"产品分类")
c.click()
time.sleep(1)
d=bs.find_elements_by_xpath("/html/body/section/div/div/iframe[@frameborder='0']")
#转⾄第⼀个#document
bs.switch_to_frame(d[1])
e=bs.find_element_by_xpath("/html/body/div/div/div/span/a[@class='btn btn-primary radius']")
#点击‘创建接⼝’
e.click()
#转⾄第⼆个#document
time.sleep(2)
bs.switch_to_frame("layui-layer-iframe1")
ee=bs.find_elements_by_id("tab_demo")
ff=ee[0].find_elements_by_xpath("./div")
#ff中包含6个元素,包含对应模块中的内容信息,依次为导航菜单,基本信息,字典参数,业务⼊参,规则代码,变动说明f=ee[0].find_elements_by_xpath("./div/span")
#f中包含5个元素,点击可切换界⾯。依次分别是菜单栏上的基本信息,字典参数,业务⼊参,规则代码,变动说明
#切换⾄字典参数界⾯
f[1].click()
time.sleep(1)
#查添加按钮
ffg=ff[2].find_elements_by_xpath("./div/a/i")
for j in range(n):
#添加⼀⾏表格
ffg[0].click()
#查表格的⾏,lineNm中第⼆个tr为第⼀⾏填充格。
lineNm=ff[2].find_elements_by_xpath("./div/table/tbody/tr")
print(len(lineNm)-1,' lines has created! ')
def ifNull(val):
if val==None:
return ''
else:
return val
print('datass: ',len(datass)  )
for j in range(n):
ffh=lineNm[j+1].find_elements_by_xpath("./td/input")
#print("line's length is : ",len(ffh))
for i in range(6):
ffh[i].send_keys(ifNull(datass[j][i]))      print("game is over!")

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。