代码如下:

1 #导包
2 from selenium importwebdriver3 from time importsleep4 driver=webdriver.Chrome()5 url="https://192.168.21.150/"
6 driver.implicitly_wait(10)7 #通过url打开事务所页面
8 driver.get(url)9 driver.maximize_window()10 #获取当前事务所窗口句柄
11 first_handle=driver.current_window_handle12 #通过js打开js_one事务所页面
13 sleep(3)14 js_one='window.open("https://192.168.21.150/");'
15 driver.execute_script(js_one)16 #通过js打开js_two事务所页面
17 sleep(1)18 js_two='window.open("https://192.168.21.150/");'
19 driver.execute_script(js_two)20 #获取所有窗口句柄集合
21 handles=driver.window_handles22 #打印所有窗口句柄集合
23 print(handles)24
25 #切换到js_two窗口,并进行kp操作
26 for handle inhandles:27     if handle!=first_handle:28 driver.switch_to.window(handle)29         print(driver.current_window_handle) #打印js_two窗口句柄
30         sleep(1)31         #进行kp操作,代码如下:
32         #选择用户名框,输入用户名cskczy
33         driver.find_element_by_xpath('//input[@name="userid"]').send_keys("cskczy")34         #选择密码框,输入密码88888888
35         driver.find_element_by_xpath('//input[@name="password"]').send_keys("88888888")36         #点击登录按钮
37         driver.find_element_by_xpath('//button[@class="login-btn"]').click()38         #关闭事务所申报和修改密码的窗口
39         sleep(2)40         driver.find_element_by_xpath('//*[@id="layui-layer2"]/div[3]/a[1]').click()41         sleep(1)42         driver.find_element_by_xpath("//*[@id='layui-layer1']/span[1]").click()43         #点击左边票据管理按钮
44         driver.find_element_by_xpath('//ul[@class="layui-nav layui-nav-tree"]/li[3]').click()45         #点击票据管理层级下的单据管理按钮
46         driver.find_element_by_xpath('//a[@data-url="/home/bill/ndjgl.html"]').click()47         #停顿1秒,进入iframe页面
48         sleep(1)49         #iframe=driver.find_element_by_xpath('//*[@id="top_tabs_box"]/div/div[3]/iframe')
50         driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"/home/bill/ndjgl")]'))51         #停顿1秒,点击iframe页面中的新增按钮
52         sleep(1)53         driver.find_element_by_xpath('//*[@class="layui-btn-group"]/button/i').click()54         '''
55 退出到外面,再进第二个iframe56 #driver.switch_to.default_content()57 #切到第一个iframe58 #sleep(1)59 #driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"/home/bill/ndjgl")]'))60 #切到第二个iframe61         '''
62         #此时本来就在第二个iframe里面,所以只要再切入一层即可。
63         sleep(1)64         driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"djdr-add")]'))65         #点击销方名称右边的按钮
66         sleep(1)67 driver.find_element_by_xpath(68             '//*[@id="lzkp-box"]/tbody/tr/td[2]/table/tbody/tr[1]/td/table/tfoot/tr[1]/td[1]/i').click()69         #获取销方信息的弹窗,从最外面切进去3层iframe
70 driver.switch_to.default_content()71         driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"/home/bill/ndjgl")]'))72         sleep(1)73         driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"djdr-add")]'))74         sleep(1)75         driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"xfxx")]'))76         #在销方信息弹窗的文本框输入"051"
77         driver.find_element_by_xpath('//*[@id="name"]').send_keys("051")78         #点击查询按钮,找到简码为TEST的企业
79         sleep(1)80         driver.find_element_by_xpath('//button[@class="layui-btn  search"]').click()81         #点击简码为051的企业税号
82         sleep(1)83         driver.find_element_by_xpath('//*[@class="layui-table"]/tbody/tr[1]/td[2]').click()84         #回退到发票填开界面,也就是销方信息弹窗的上一个iframe页面
85         #这里有两种方法切入:1.从最外面切入两层进去;2.从销方信息的iframe回退上去到发票填开的iframe
86 driver.switch_to.parent_frame()87         #回到发票填开页面后,点击购方名称最右边的按钮
88         sleep(1)89 driver.find_element_by_xpath(90             '//*[@id="lzkp-box"]/tbody/tr/td[2]/table/tbody/tr[1]/td/table/thead/tr[1]/td[1]/i').click()91         #此时弹出购方信息的窗口iframe
92         #我们本来就在发票填开的第二个iframe,只需要再切入一层即可。
93         driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"gfxx")]'))94         #切入到购房信息的iframe后,选择输入框,输入客户名称:王昭君
95         sleep(1)96         driver.find_element_by_xpath('//*[@id="name"]').send_keys("王昭君")97         #点击查询按钮,搜索到客户名称为王昭君的企业
98         driver.find_element_by_xpath('//button[@class="layui-btn search"]').click()99         #点击客户税号为91330200513697175C的企业
100         sleep(1)101         driver.find_element_by_xpath('//*[@class="layui-table"]/tbody/tr[1]/td[2]').click()102         #又回到了发票填开界面,也就是第二个iframe页面,所以要从购方名称弹窗iframe回退
103 driver.switch_to.parent_frame()104         #这样就回退到开票页面的iframe,可以直接操作页面上的元素了,点击操作列:货物或应税劳务、服务名称右边的按钮
105         sleep(1)106         driver.find_element_by_xpath('//*[@id="tr0"]/td[1]/i').click()107         #此时弹出了商品信息窗口,又是一层iframe,需要从开票信息第二层的iframe切进去
108         sleep(1)109         driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"goods")]'))110         #切入商品信息iframe后,在商品名称框输入:11号慢羊羊
111         driver.find_element_by_xpath('//*[@id="name"]').send_keys("11号慢羊羊")112         #点击查询按钮,搜索到商品名称为11号慢羊羊的商品
113         driver.find_element_by_xpath('//button[@class="layui-btn search"]').click()114         #帅选出这条商品后,点击它的税收分类编码确定这条商品
115         sleep(1)116         driver.find_element_by_xpath('//*[@class="layui-table"]/tbody/tr/td[2]/div').click()117         #退回到开票页面的iframe,在备注栏输入:哈哈哈,就是这么强大!
118 driver.switch_to.parent_frame()119         sleep(1)120         driver.find_element_by_xpath('//*[@id="bz"]').send_keys("人生苦短,我用Python!")121         #选择数量框输入:10
122         driver.find_element_by_xpath('//*[@id="spsl_0"]').send_keys("10")123         #点击金额(含税)框
124         driver.find_element_by_xpath('//*[@id="je_0"]').click()125         #点击开票按钮
126         driver.find_element_by_xpath('//*[@class="layui-inline pull-right"]/button[7]').click()127         sleep(3)128         break
129 driver.close() #关闭当前窗口(js_two)
130
131 #此时还剩两个窗口,倒着获取js_one的窗口句柄
132 for handle inhandles:133     if handle!=first_handle:134         driver.switch_to.window(handles[-1]) #剩2个句柄,取最后一个
135         print(driver.current_window_handle) #输出当前句柄(js_one)
136         #进行khxz操作,代码如下:
137         sleep(1)138         #选择用户名框,输入用户名cskczy
139         driver.find_element_by_xpath('//input[@name="userid"]').send_keys("cskczy")140         #选择密码框,输入密码88888888
141         driver.find_element_by_xpath('//input[@name="password"]').send_keys("88888888")142         #点击登录按钮
143         driver.find_element_by_xpath('//button[@class="login-btn"]').click()144         #登录后等待1秒,关闭事务所申报和修改密码的弹窗。
145         sleep(2)146         driver.find_element_by_xpath('//*[@id="layui-layer2"]/div[3]/a[1]').click()147         sleep(1)148         driver.find_element_by_xpath("//*[@id='layui-layer1']/span[1]").click()149         #点击左边导航栏的基础管理
150         driver.find_element_by_xpath('//ul[@class="layui-nav layui-nav-tree"]/li[2]').click()151         #点击基础管理里面的客户管理
152         driver.find_element_by_xpath('//ul[@class="layui-nav layui-nav-tree"]/li[2]/dl/dd[3]/a/cite').click()153         #整体思路:点击新增按钮,但需要进到表单iframe1 src="/home/sys/khgl/khxx.html" 操作元素
154         iframe1 = driver.find_element_by_xpath('//iframe[contains(@src,"/home/sys/khgl/khxx.html")]')155         driver.switch_to.frame(iframe1)  #成功进入到iframe1
156         #在iframe1操作新增按钮
157         driver.find_element_by_xpath('//*[@class="layui-form m-form"]/div[3]/button[1]/i').click()158         sleep(1)  #等待1秒加载"选择企业税号"的弹窗
159         driver.switch_to.default_content()  #f返回主文档
160         #获取"选择企业税号"的弹窗定义为iframe2
161         iframe2 = driver.find_element_by_xpath('//*[@id="layui-layer-iframe3"]')162         #进入到iframe2窗口,操作表单上的元素
163 driver.switch_to.frame(iframe2)164         sleep(1)  #等待1秒
165         #选择企业税号框,并输入330203999999051
166         driver.find_element_by_xpath('//*[@id="qysh"]').send_keys("330203999999051")167         driver.find_element_by_xpath('//*[@class="layui-inline"]/button[1]').click()  #点击查询按钮
168         #勾选税号为330203999999051的企业
169         driver.find_element_by_xpath('//*[@class="layui-table"]/tbody/tr/td[1]/div/div/i').click()170         driver.find_element_by_xpath('//*[@class="layui-inline"]/button[2]').click()  #点击确定按钮
171         driver.switch_to.default_content()  #返回到主文档
172         #进入到iframe1表单操作新增按钮
173 driver.switch_to.frame(iframe1)174         driver.find_element_by_xpath('//*[@class="layui-form m-form"]/div[3]/button[1]/i').click()  #点击新增按钮
175         driver.switch_to.default_content()  #返回到主文档
176         #获取"新增客户信息"的弹窗定义为iframe3
177         sleep(1)178         iframe3 = driver.find_element_by_xpath('//*[@id="layui-layer-iframe4"]')179         #进入到iframe3窗口,操作表单上的元素
180 driver.switch_to.frame(iframe3)181         sleep(1)  #等待1秒
182         #新增客户,维护必填项
183         driver.find_element_by_xpath('//*[@id="name"]').send_keys("宁波技冠智能科技发展股份有限公司")  #输入客户名称
184         driver.find_element_by_xpath('//*[@id="customer_sh"]').send_keys("91330200573697175C")  #输入客户税号
185         driver.find_element_by_xpath('//*[@id="short_code"]').send_keys("121212121C")  #输入客户简码
186         driver.find_element_by_xpath('//*[@id="email"]').send_keys('123456789@qq.com')  #输入电子邮箱
187         driver.find_element_by_xpath('//*[@class="layui-form-item opt-margin-bottom"]/div/div/textarea').send_keys(188             "人生苦短,我用Python")  #输入备注
189         driver.find_element_by_xpath('//*[@class="layui-form layui-form-pane"]/div[5]/button').click()  #点击"添加行"按钮
190         sleep(1)  #等待1秒
191 driver.find_element_by_xpath(192             '//*[@class="layui-table-body layui-table-main"]/table/tbody/tr/td[1]/div').click()  #点击"地址及电话输入框"
193         sleep(1)  #等待1秒
194 driver.find_element_by_xpath(195             '//*[@class="layui-table-body layui-table-main"]/table/tbody/tr/td[1]/input').send_keys(196             "宁波研发园88887777")  #输入地址及电话
197         driver.find_element_by_xpath('//*[@class="layui-table-body layui-table-main"]/table/tbody/tr/td[2]/div').click()198         sleep(1)  #等待1秒
199 driver.find_element_by_xpath(200             '//*[@class="layui-table-body layui-table-main"]/table/tbody/tr/td[2]/input').send_keys(201             "中国银行6228480310540239011")  #输入开户行及账号
202 driver.find_element_by_xpath(203             '//*[@class="layui-table-box"]/div[2]/table/tbody/tr/td[4]/div/a[2]').click()  #点击"设为默认"按钮
204         sleep(1)  #等待1秒
205         driver.find_element_by_xpath('//*[@class="layui-form layui-form-pane"]/div[7]/div/button[1]').click()  #点击保存按钮
206         #获取弹窗信息的确定按钮
207         driver.switch_to.default_content()  #返回主文档
208         sleep(2)  #等待2秒
209         #driver.find_element_by_xpath('//*[@id="layui-layer6"]/div[3]/a').click()  # 提示:保存成功,点击"确定"按钮
210         #sleep(1)
211         #至此事务所一体化客户新增的脚本完成
212         break
213 driver.close() #关闭当前窗口(js_one)
214
215 #还剩下一个窗口,获取句柄(first_handle)并进行spxz操作,代码如下:
216 driver.switch_to.window(first_handle)217 sleep(1)218 #选择用户名框,输入用户名cskczy
219 driver.find_element_by_xpath('//input[@name="userid"]').send_keys("cskczy")220 #选择密码框,输入密码88888888
221 driver.find_element_by_xpath('//input[@name="password"]').send_keys("88888888")222 #点击登录按钮
223 driver.find_element_by_xpath('//button[@class="login-btn"]').click()224 #登录后等待1秒,关闭事务所申报和修改密码的窗口
225 sleep(2)226 driver.find_element_by_xpath('//*[@id="layui-layer2"]/div[3]/a[1]').click()227 sleep(1)228 driver.find_element_by_xpath("//*[@id='layui-layer1']/span[1]").click()229 #点击左边导航栏的基础管理
230 driver.find_element_by_xpath('//ul[@class="layui-nav layui-nav-tree"]/li[2]').click()231 #点击基础管理里面的商品管理
232 driver.find_element_by_xpath('//ul[@class="layui-nav layui-nav-tree"]/li[2]/dl/dd[4]/a').click()233 #整体思路:点击新增按钮,但需要进到表单iframe1 src="/home/sys/goods/goods.html" 操作元素
234 iframe1=driver.find_element_by_xpath('//iframe[contains(@src,"/home/sys/goods/goods.html")]')235 driver.switch_to.frame(iframe1)  #成功进到iframe1
236 #在iframe1操作新增按钮
237 driver.find_element_by_xpath('//*[@class="layui-form m-form"]/div[3]/button[1]/i').click()238 sleep(1)  #等待1秒加载"选择企业税号"的弹窗
239 driver.switch_to.default_content()  #返回主文档
240 #获取"选择企业税号"的弹窗定义为iframe2
241 iframe2=driver.find_element_by_xpath('//*[@id="layui-layer-iframe3"]')242 #进入到iframe2窗口,操作表单上的元素
243 driver.switch_to.frame(iframe2)244 sleep(1)  #等待1秒
245 #选择企业税号框,并输入330203999999051
246 driver.find_element_by_xpath('//*[@id="qysh"]').send_keys("330203999999051")247 driver.find_element_by_xpath('//*[@class="layui-inline"]/button[1]').click()  #点击查询按钮
248 #勾选税号为330203999999051的企业
249 driver.find_element_by_xpath('//*[@class="layui-table"]/tbody/tr/td[1]/div/div/i').click()250 driver.find_element_by_xpath('//*[@class="layui-inline"]/button[2]').click()  #点击确定按钮
251 driver.switch_to.default_content()  #返回到主文档
252 #进入到iframe1表单操作新增按钮
253 driver.switch_to.frame(iframe1)254 driver.find_element_by_xpath('//*[@class="layui-form m-form"]/div[3]/button[1]/i').click()  #点击新增按钮
255 driver.switch_to.default_content()  #返回到主文档
256 #获取"新增商品信息"的弹窗定义为iframe3
257 iframe3=driver.find_element_by_xpath('//*[@id="layui-layer-iframe4"]')258 #进入到iframe3窗口,操作表单上的元素
259 driver.switch_to.frame(iframe3)260 sleep(1)  #等待1秒
261 #新增商品,维护必填项
262 driver.find_element_by_xpath('//*[@id="name"]').send_keys("spmc")  #输入商品名称
263 driver.find_element_by_xpath('//*[@id="ggxh"]').send_keys("ggxh")  #输入规格型号
264 driver.find_element_by_xpath('//*[@id="jldw"]').send_keys("jldw")  #输入计量单位
265 driver.find_element_by_xpath('//*[@id="dj"]').send_keys("10")  #输入商品单价
266 #选择税收分类编码的过程
267 driver.find_element_by_xpath('//*[@id="ssflbm"]').click()  #点击税收分类编码输入框
268 driver.switch_to.default_content()  #返回主文档
269 #获取"税收分类编码"的弹窗定义为iframe4
270 iframe4=driver.find_element_by_xpath('//*[@id="layui-layer-iframe5"]')271 #进入到iframe4窗口,操作表单上的元素
272 driver.switch_to.frame(iframe4)273 #在名称框输入:小麦
274 driver.find_element_by_xpath('//*[@id="spmc"]').send_keys("小麦")275 driver.find_element_by_xpath('//*[@class="layui-form"]/div/div/button[1]').click()  #点击查询按钮
276 #勾选名称为小麦的这条税收分类编码
277 driver.find_element_by_xpath('//*[@class="layui-form layui-border-box layui-table-view"]/div[1]/div[2]/table/tbody/tr[1]/td[1]/div/div/i').click()278 driver.find_element_by_xpath('//*[@class="layui-form"]/div/div/button[2]').click()  #点击确定按钮
279 #退出表单iframe4,回到上一级表单iframe3
280 driver.switch_to.parent_frame()281 driver.switch_to.frame(iframe3)  #进入到iframe3"新增商品信息"的表单
282 #选择优惠政策类型为"免税"
283 sleep(1)  #等待1秒
284 driver.find_element_by_xpath('//*[@class="layui-form layui-form-pane"]/div[5]/div[2]/div/div/div/input').click()  #点击"优惠政策类型"弹出下来框
285 sleep(1)  #等待1秒
286 driver.find_element_by_xpath('//*[@class="layui-form layui-form-pane"]/div[5]/div[2]/div/div/dl/dd[2]').click()  #选择"免税"
287 driver.find_element_by_xpath('//*[@id="short_code"]').send_keys("spjm")  #输入商品简码
288 driver.find_element_by_xpath('//*[@class="layui-form-item"]/div/button[1]').click()  #点击保存按钮
289 driver.switch_to.default_content()  #返回主文档
290 sleep(1)  #等待1秒
291 driver.find_element_by_xpath('//*[@id="layui-layer7"]/div[3]/a').click()  #点击弹窗上的"保存"按钮
292 #至此事务所一体化商品新增的脚本完成
293 sleep(3)294 driver.quit() #关闭并退出浏览器

转载于:https://www.cnblogs.com/chenshengkai/p/11346778.html

swsyth_kp_spxz_khxz_js相关推荐

最新文章

  1. linux-mint 安装 python 包 Gevent
  2. python 布尔值 bool( ) 与逻辑运算符
  3. .Net 分布式云平台基础服务建设说明概要
  4. 项目疑难杂症记录(二):焦点移动不了
  5. Python 10 行以内代码能有什么高端操作?| 原力计划
  6. FindTask练习
  7. elk logstach收集交换机日志
  8. CAD画虚线怎么调比例?CAD画虚线教程
  9. 如何按州跟踪缺席选票
  10. TTP223使用说明
  11. 考研二战日记-第16天小结
  12. arcengine shp数据导入gdb中
  13. 企业微信接口错误代码汇总
  14. 15.内置函数,匿名函数
  15. 全栈开发实战|​名片管理系统的设计与实现(SSM + JSP)
  16. 电脑端如何多开微信 如何用命令行打开程序(将快捷方式复制到C:\Windows\System32目录下)
  17. Mentor Graphics ModelSim SE 10.5官方原版+完美破解
  18. 块交织器5×5 verilog设计及仿真实现
  19. 关于csdn写的博文未显示,待审核状态
  20. 推荐一个数据库同步软件,可同步Mysql,sqlserver数据,支持实时同步

热门文章

  1. 序列化器serializers的使用
  2. 2006年江苏专转本计算机试卷答案,2006年度江苏省普通高校专转本计算机试卷.doc...
  3. 【STM32+cubemx】0020 HAL库开发:以太网ENC28J60芯片和TCP、UDP简单应用
  4. 信号处理琐碎知识点 — OFDM 正交频分复用
  5. python(进阶篇)——自动化操作Excel(xlrd和xlwt)
  6. 安卓技术实战01 第一个安卓APP案例
  7. 初识希尔伯特变换(Hilbert Transform)
  8. 彻底解决文件路径问题
  9. 用好锚定效应可以事半功倍,避免锚定也可以减少成本。
  10. 网络核心之分组交换与电路交换