debug
#19
Replies: 1 comment 2 replies
-
其实从release最后一个版本至今我在自己的win10、macos的笔记本上和Linux的服务器上均有多次尝试(之后一直挂在服务器上每日填运行一次已经两个多月了),还确实没有出现过这种网络波动的情况,若是网络正常基本上登录一次就会成功(我这边好像没有不一次成功的例子),所以才按照这样的情况设定了各种timeout阈值。 至于您说的driver.back()的问题确实曾经出现过,而且可能由于环境原因被系统退出会话,所以如见我之后加入了触发重新登录的exception。但是次数的话我这边的几个设备按照两次back都是可以正常运行的,所以具体原因不得而知。back这个操作我觉得确实可能触发一些问题,但是由于效率原因还是保留,有了微信通知功能以后也考虑后续将截图功能取消,减小未知问题的概率。 总的来说我觉得造成您所展示的问题可能与网络有关(发现需要登录多次才能成功),可以试着换一个网络环境再进行尝试,同时增加各个timeout值应该可以解决,感谢您的反馈,我将在之后的版本中进一步考虑,祝运行顺利 |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
使用过程中,发现有一些地方会报一些找不到class的错误,多半是因为程序有时候有逻辑问题,driver.back()的时候可能因为加载时间原因(或者其他原因?只是猜测)导致并没有退回到想去的页面,所以找不到元素。我debug了一下,选择直接不用back方式,而是直接重新再登录一遍(比如fill_out之后fill_in的时候,直接重新登录,go_to_application_out只是来到报备信息的填写页面,所以感觉不用go_to_application_in(因为没有用back方式)),以及后面的获取历史打卡截图那里同样也采用了重新login的方式,这样就back进错误页面的概率就降低了。然后还有,有时候可能会因为一些原因(比如网络等),可能要尝试登录数次才会成功,所以这里我把尝试登录的次数也略微增大了一些。
其实整个程序我感觉逻辑上应该是没有什么问题的,为什么会出现back进错误的页面我感觉可能是因为客户端的环境问题导致的,比如说网络波动等,可能第一次back根本没有完全成功(还在加载状态?),第二次back必然会错误。我想这也是为什么我把逻辑写改为重新登录之后会成功的原因(尝试登录的次数增大的同时,timeout的时间我也增大到了10s),或者是不是可以在每个driver.back()后sleep几秒?这个情况可能更加依赖网络情况。但是我发现把这里的back换成三次之后,就来到了正确的页面(或许是真的少了一次back?)
总之,debug了2小时后,它终于work了!!!
Beta Was this translation helpful? Give feedback.
All reactions