import uiautomator2 as u2 from time import sleep import datetime d = u2.connect('192.168.68.99:5556') a = 0 while a < 100: d(text='会员提币').click() print(datetime.datetime.now(), '点击会员提币') sleep(1.5) d(resourceId='com.sr.extractsalecoinmechine:id/key3').click() print(datetime.datetime.now(), '点击3币') sleep(1) d(resourceId='com.sr.extractsalecoinmechine:id/key0').click() print(datetime.datetime.now(), '点击0币') sleep(1) d(resourceId='com.sr.extractsalecoinmechine:id/key0').click() print(datetime.datetime.now(), '点击0币') sleep(1) d(resourceId='com.sr.extractsalecoinmechine:id/key_sure').click() print(datetime.datetime.now(), '点击确认') sleep(20) d(text="关闭").click() a += 1 sleep(5) print(datetime.datetime.now(), a, '次') 优化代码
时间: 2024-01-25 17:03:06 浏览: 20
可以考虑以下优化:
1. 使用 for 循环代替 while 循环,可以简化代码。
2. 使用 try...except...finally 结构,确保程序能够正确执行并在出现异常时能够进行处理,避免程序崩溃。
3. 将常量和重复的代码段封装成函数,提高代码的可读性和重用性。
下面是优化后的代码:
```python
import uiautomator2 as u2
from time import sleep
import datetime
d = u2.connect('192.168.68.99:5556')
def click_element(resource_id):
d(resourceId=resource_id).click()
print(datetime.datetime.now(), f'点击 {resource_id}')
def click_coin():
click_element('com.sr.extractsalecoinmechine:id/key3')
sleep(1)
click_element('com.sr.extractsalecoinmechine:id/key0')
sleep(1)
click_element('com.sr.extractsalecoinmechine:id/key0')
sleep(1)
click_element('com.sr.extractsalecoinmechine:id/key_sure')
def main():
for i in range(100):
try:
click_element('会员提币')
click_coin()
sleep(20)
click_element('关闭')
print(datetime.datetime.now(), i+1, '次')
except Exception as e:
print(e)
finally:
sleep(5)
if __name__ == '__main__':
main()
```
这样的代码结构更清晰易懂,也更容易维护。