微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sws_kp操作selenium webdriver+python

代码如下:

 1 #导包
 2 from selenium import  webdriver
 3 from time import sleep
 4 #选择谷歌浏览器打开事务所网站
 5 driver=webdriver.Chrome()
 6 url="https://sws.nbhtxx.com.cn/"
 7 driver.get(url)
 8 #窗口最大化
 9 driver.maximize_window()
10 #选择用户名框,输入用户名XXXXXXXX
11 driver.find_element_by_xpath('//input[@name="userid"]').send_keys("XXXXXXXX")
12 #选择密码框,输入密码XXXXXXXX
13 driver.find_element_by_xpath('//input[@name="password"]').send_keys("XXXXXXXX")
14 #点击登录按钮
15 driver.find_element_by_xpath('//button[@class="login-btn"]').click()
16 #登录后停顿1秒
17 sleep(1)
18 #点击左边票据管理按钮
19 driver.find_element_by_xpath('//ul[@class="layui-nav layui-nav-tree"]/li[3]').click()
20 #点击票据管理层级下的单据管理按钮
21 driver.find_element_by_xpath('//a[@data-url="/home/bill/ndjgl.html"]').click()
22 #停顿1秒,进入iframe页面
23 sleep(1)
24 #iframe=driver.find_element_by_xpath('//*[@id="top_tabs_Box"]/div/div[3]/iframe')
25 driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"/home/bill/ndjgl")]'))
26 #停顿1秒,点击iframe页面中的新增按钮
27 sleep(1)
28 driver.find_element_by_xpath('//*[@class="layui-btn-group"]/button[2]').click()
29 #退出到外面,再进第二个iframe
30 driver.switch_to.default_content()
31 #切到第一个iframe
32 sleep(1)
33 driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"/home/bill/ndjgl")]'))
34 #切到第二个iframe
35 sleep(1)
36 driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"djdr-add")]'))
37 #点击销方名称右边的按钮
38 sleep(1)
39 driver.find_element_by_xpath('//*[@id="lzkp-Box"]/tbody/tr/td[2]/table/tbody/tr[1]/td/table/tfoot/tr[1]/td[1]/i').click()
40 #获取销方信息的弹窗,从最外面切进去3层iframe
41 driver.switch_to.default_content()
42 driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"/home/bill/ndjgl")]'))
43 sleep(1)
44 driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"djdr-add")]'))
45 sleep(1)
46 driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"xfxx")]'))
47 #在销方信息弹窗的文本框输入"TEST"
48 driver.find_element_by_xpath('//*[@id="name"]').send_keys("TEST")
49 #点击查询按钮,找到简码为TEST的企业
50 sleep(1)
51 driver.find_element_by_xpath('//button[@class="layui-btn  search"]').click()
52 #点击简码为TEST的企业税号
53 sleep(1)
54 driver.find_element_by_xpath('//*[@class="layui-table"]/tbody/tr[1]/td[2]').click()
55 #回退到发票填开界面,也就是销方信息弹窗的上一个iframe页面
56 #这里有两种方法切入:1.从最外面切入两层进去;2.从销方信息的iframe回退上去到发票填开的iframe
57 driver.switch_to.parent_frame()
58 #回到发票填开页面后,点击购方名称最右边的按钮
59 sleep(1)
60 driver.find_element_by_xpath('//*[@id="lzkp-Box"]/tbody/tr/td[2]/table/tbody/tr[1]/td/table/thead/tr[1]/td[1]/i').click()
61 #此时弹出购方信息的窗口iframe
62 #我们本来就在发票填开的第二个iframe,只需要再切入一层即可。
63 driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"gfxx")]'))
64 #切入到购房信息的iframe后,选择输入框,输入客户名称:王昭君
65 sleep(1)
66 driver.find_element_by_xpath('//*[@id="name"]').send_keys("王昭君")
67 #点击查询按钮,搜索到客户名称为王昭君的企业
68 driver.find_element_by_xpath('//button[@class="layui-btn search"]').click()
69 #点击客户税号为91330200573697175C的企业
70 sleep(1)
71 driver.find_element_by_xpath('//*[@class="layui-table"]/tbody/tr[1]/td[2]').click()
72 #又回到了发票填开界面,也就是第二个iframe页面,所以要从购方名称弹窗iframe回退
73 driver.switch_to.parent_frame()
74 #这样就回退到开票页面的iframe,可以直接操作页面上的元素了,点击操作列:货物或应税劳务、服务名称右边的按钮
75 sleep(1)
76 driver.find_element_by_xpath('//*[@id="tr0"]/td[1]/i').click()
77 #此时弹出了商品信息窗口,又是一层iframe,需要从开票信息第二层的iframe切进去
78 sleep(1)
79 driver.switch_to.frame(driver.find_element_by_xpath('//iframe[contains(@src,"goods")]'))
80 #切入商品信息iframe后,在商品名称框输入:11号慢羊羊
81 driver.find_element_by_xpath('//*[@id="name"]').send_keys("11号慢羊羊")
82 #点击查询按钮,搜索到商品名称为11号慢羊羊的商品
83 driver.find_element_by_xpath('//button[@class="layui-btn search"]').click()
84 #帅选出这条商品后,点击它的税收分类编码确定这条商品
85 sleep(1)
86 driver.find_element_by_xpath('//*[@class="layui-table"]/tbody/tr/td[2]/div').click()
87 #退回到开票页面的iframe,在备注栏输入:哈哈哈,就是这么强大!
88 driver.switch_to.parent_frame()
89 sleep(1)
90 driver.find_element_by_xpath('//*[@id="bz"]').send_keys("人生苦短,我用Python!")
91 #选择数量框输入:10
92 driver.find_element_by_xpath('//*[@id="spsl_0"]').send_keys("10")
93 #点击金额(含税)框
94 driver.find_element_by_xpath('//*[@id="je_0"]').click()
95 #点击开票按钮
96 driver.find_element_by_xpath('//*[@class="layui-inline pull-right"]/button[7]').click()
97 #至此事务所一体化开票的脚本写完了,感谢CCTV~

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐