123456789101112131415161718192021222324252627282930313233343536373839 |
- -- 登录
- local login_url = "https://tpass.beijing.chinatax.gov.cn:8443/#/login?redirect_uri=https%3A%2F%2Fetax.beijing.chinatax.gov.cn%2Fkxsfrz-cjpt-web%2Ftpass%2FtpassLogin.do&client_id=dcR7baR2cd6f428R8b7f9dfRRfc6bRd6&response_type=code&state=test"
- local browser_timeout = 1000*60*60*24
- -- login 登录
- function login()
- browser_navagite(browser_timeout, login_url)
- local login_success_flag,reflush_qr_times = false ,0
- repeat
- browser_sleep(1000)
- print("获取二维码")
- local ok = browser_wait_visible(1,"#qrcodeDiv img",1000*5)
- local ok,img = browser_executejs(1000*5,0,'document.querySelector("#qrcodeDiv img").src')
- --发送二维码图像,并等待扫码,超时后自动刷新页面
- browser_send_img_chatbot('all','https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=f416abfc-2e3b-419c-a0a7-2f5427d81c9d',img)
- --检查页面是否切换
- local check_retry_times = 0
- -- 循环检查页面是否变化,扫码登录是否成功,这里间隔5秒,尝试检查10次,50秒二维码也会失效,需要刷新tab页
- repeat
- print("检查扫码状态")
- local ok,current_tab_url = browser_executejs(1000*5,0,'window.location.href')
- if current_tab_url~=login_url then
- login_success_flag=true
- else
- check_retry_times = check_retry_times+1
- browser_sleep(1000*5)
- end
- check_retry_times=check_retry_times+1
- until login_success_flag or check_retry_times>10 --检查扫码结束
- --检查上一个循环是因为超时,还是真正登录成功了
- if check_retry_times>10 then
- print("超时了,重新刷新二维码")
- browser_reload(browser_timeout)
- else
- print("登录成功")
- end
- reflush_qr_times = reflush_qr_times+1
- until login_success_flag or reflush_qr_times > 5 --登录检查结束
- return login_success_flag
- end
|