I'm a new member, I did created some python software to automate my job as below coding,
import pyautogui as pg
from time import sleep
import tkinter as tk
# ------------------------------UI----------------------------------------------------
window = tk.Tk()
window.title("Daily Job Automation")
window.minsize(width=500, height=300)
my_label = tk.Label(text="Daily Job Automation", font=("Arial", 24, "bold"))
my_label.pack()
# ------------------------------Function----------------------------------------------------
def setUp(self):
self.oldFailsafeSetting = pg.FAILSAFE
pg.FAILSAFE = False
pg.moveTo(0, 0) # make sure failsafe isn't triggered during this test
pg.FAILSAFE = True
def Ctrl_C():
pg.keyDown('ctrl')
pg.press('c')
pg.keyUp('ctrl')
def Ctrl_V():
pg.keyDown('ctrl')
pg.press('v')
pg.keyUp('ctrl')
def Back_To_Windows():
pg.keyDown('win')
pg.press('d')
pg.keyUp('win')
def Start_Automation():
# Open SQL
Back_To_Windows()
pg.PAUSE = 0.2
pg.leftClick(x=272, y=745)
sleep(10)
# Change company in SQL
pg.leftClick(x=603, y=464)
pg.typewrite('dne f')
pg.press('enter')
sleep(1)
# Key in password
pg.press('tab', presses=2)
sleep(1)
pg.typewrite('ss0214')
pg.press('enter')
# Open Customer Aging Report
sleep(5)
pg.keyDown('win')
pg.press('up', presses=3)
pg.keyUp('win')
sleep(2)
pg.leftClick(x=176, y=45)
sleep(5)
pg.leftClick(x=227, y=327)
sleep(5)
pg.leftClick(x=471, y=306)
sleep(15)
# Open filter
pg.rightClick(x=445, y=373)
sleep(5)
pg.leftClick(x=508, y=378)
sleep(5)
pg.leftClick(x=1301, y=694)
sleep(5)
pg.leftClick(x=457, y=510)
sleep(8)
pg.leftClick(x=654, y=126)
pg.keyDown('ctrl')
pg.press('a')
pg.keyUp('ctrl')
pg.typewrite('sql')
pg.press('down')
pg.press('enter')
sleep(2)
pg.doubleClick(x=586, y=213)
pg.leftClick(x=656, y=508)
pg.rightClick(x=1273, y=653)
pg.leftClick(x=1231, y=637)
sleep(3)
# Open BID file
Back_To_Windows()
pg.doubleClick(x=424, y=42)
sleep(3)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.keyDown('ctrl')
pg.press('f')
pg.keyUp('ctrl')
pg.typewrite('dne fwg')
pg.press('enter')
pg.press('esc')
pg.press('down', presses=2)
Ctrl_V()
# Open Over 90 days and copy to BID
pg.leftClick(x=279, y=751)
pg.leftClick(x=1321, y=691)
sleep(3)
pg.leftClick(x=471, y=511)
sleep(3)
pg.doubleClick(x=604, y=249)
sleep(3)
pg.leftClick(x=659, y=515)
sleep(3)
pg.rightClick(x=1155, y=659)
pg.leftClick(x=1171, y=645)
pg.leftClick(x=959, y=744)
pg.press('right', presses=2)
Ctrl_V()
# Open Supplier Aging and copy to BID
pg.leftClick(x=279, y=751)
pg.leftClick(x=231, y=33)
sleep(3)
pg.leftClick(x=320, y=327)
sleep(3)
pg.leftClick(x=587, y=247)
sleep(15)
pg.rightClick(x=370, y=375)
sleep(3)
pg.leftClick(x=434, y=372)
sleep(3)
pg.leftClick(x=1292, y=685)
sleep(3)
pg.leftClick(x=486, y=508)
sleep(3)
pg.doubleClick(x=584, y=271)
pg.leftClick(x=669, y=510)
pg.rightClick(x=1311, y=655)
pg.leftClick(x=1241, y=644)
pg.leftClick(x=950, y=743)
pg.press('left')
Ctrl_V()
# Open SQL for DNE TTL
pg.rightClick(x=270, y=748)
sleep(1)
pg.leftClick(x=195, y=641)
sleep(1)
pg.leftClick(x=603, y=460)
pg.typewrite('dne t')
pg.press('enter')
pg.press('tab', presses=2)
sleep(2)
pg.typewrite('ss0214')
pg.press('enter')
# Open Customer Aging Report
sleep(5)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.leftClick(x=176, y=45)
sleep(5)
pg.leftClick(x=227, y=327)
sleep(5)
pg.leftClick(x=471, y=306)
sleep(15)
# Open filter
pg.rightClick(x=445, y=373)
sleep(5)
pg.leftClick(x=508, y=378)
sleep(5)
pg.leftClick(x=1301, y=694)
sleep(5)
pg.leftClick(x=457, y=510)
sleep(8)
pg.doubleClick(x=586, y=213)
pg.leftClick(x=656, y=508)
pg.rightClick(x=1273, y=653)
pg.leftClick(x=1231, y=637)
sleep(3)
# Open BID
pg.leftClick(x=961, y=752)
pg.press('right', presses=2)
Ctrl_V()
sleep(1)
# Open Over 90 days and copy to BID
pg.leftClick(x=279, y=751)
sleep(1)
pg.leftClick(x=430, y=589)
sleep(1)
pg.leftClick(x=1321, y=691)
sleep(3)
pg.leftClick(x=471, y=511)
sleep(3)
pg.doubleClick(x=604, y=249)
sleep(3)
pg.leftClick(x=659, y=515)
sleep(3)
pg.rightClick(x=1155, y=659)
pg.leftClick(x=1171, y=645)
pg.leftClick(x=959, y=744)
pg.press('right', presses=2)
Ctrl_V()
# Open Supplier Aging and copy to BID
pg.leftClick(x=279, y=751)
sleep(1)
pg.leftClick(x=430, y=589)
sleep(1)
pg.leftClick(x=231, y=33)
sleep(3)
pg.leftClick(x=320, y=327)
sleep(3)
pg.leftClick(x=587, y=247)
sleep(15)
pg.rightClick(x=370, y=375)
sleep(3)
pg.leftClick(x=434, y=372)
sleep(3)
pg.leftClick(x=1292, y=685)
sleep(3)
pg.leftClick(x=486, y=508)
sleep(3)
pg.doubleClick(x=584, y=271)
pg.leftClick(x=669, y=510)
pg.rightClick(x=1311, y=655)
pg.leftClick(x=1241, y=644)
pg.leftClick(x=950, y=743)
pg.press('left')
Ctrl_V()
# Open Google Chrome tabs
pg.leftClick(x=125, y=740)
sleep(3)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.rightClick(x=308, y=81)
sleep(1)
pg.leftClick(x=389, y=105)
sleep(1)
pg.rightClick(x=402, y=86)
pg.leftClick(x=483, y=108)
pg.press('enter')
sleep(3)
pg.keyDown('ctrl')
sleep(1)
pg.press('w')
sleep(1)
pg.keyUp('ctrl')
sleep(1)
pg.press('enter')
# Ask for the OTP
pg.leftClick(x=631, y=437)
pg.alert(text='Please enter OTP', title='OTP', button='ok')
sleep(15)
# Go to the BID tab
pg.press('pagedown', presses=5)
sleep(1)
pg.leftClick(x=901, y=311)
sleep(2)
pg.leftClick(x=216, y=285)
sleep(2)
pg.leftClick(x=81, y=235)
# Create new record
sleep(1)
# Copy and paste AR
pg.leftClick(x=423, y=403)
pg.leftClick(x=949, y=749)
pg.leftClick(x=881, y=294)
Ctrl_C()
pg.leftClick(x=134, y=747)
Ctrl_V()
# Copy and paste AP
pg.leftClick(x=390, y=407)
pg.press('tab')
sleep(1)
pg.leftClick(x=958, y=752)
pg.press('tab')
Ctrl_C()
pg.leftClick(x=117, y=730)
sleep(1)
Ctrl_V()
# Copy and paste over 90 days
pg.leftClick(x=418, y=441)
sleep(1)
pg.press('tab', presses=2)
sleep(1)
pg.leftClick(x=962, y=749)
pg.press('tab')
Ctrl_C()
sleep(1)
pg.leftClick(x=127, y=745)
Ctrl_V()
# Copy AR collected to date
pg.leftClick(x=950, y=741)
sleep(1)
pg.press('tab')
Ctrl_C()
pg.leftClick(x=122, y=752)
pg.leftClick(x=393, y=482)
Ctrl_V()
# Copy Customer fund
pg.leftClick(x=376, y=606)
sleep(1)
pg.leftClick(x=952, y=745)
pg.leftClick(x=975, y=348)
Ctrl_C()
sleep(1)
pg.leftClick(x=127, y=750)
pg.leftClick(x=376, y=606)
sleep(1)
Ctrl_V()
sleep(1)
# Key in amount into OD used
pg.press('tab')
pg.typewrite('400000')
sleep(1)
# Copy Company's fund
pg.leftClick(x=951, y=740)
sleep(1)
pg.leftClick(x=975, y=375)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.leftClick(x=376, y=686)
Ctrl_V()
sleep(1)
# Copy Total available fund
pg.leftClick(x=951, y=740)
pg.leftClick(x=975, y=400)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.leftClick(x=376, y=686)
pg.press('tab', presses=1)
Ctrl_V()
sleep(1)
# Key zero into Forecast column
pg.press('tab')
pg.press('0')
pg.press('tab')
pg.press('0')
sleep(1)
# Copy MBB DNE TTL
pg.leftClick(x=951, y=740)
pg.leftClick(x=975, y=450)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# key in 0 into DNE TTL Dep
pg.press('tab')
pg.press('0')
sleep(1)
# Copy OCBC DNE TTL
pg.leftClick(x=951, y=740)
pg.leftClick(x=975, y=475)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC DNE TTL USD
pg.leftClick(x=951, y=740)
pg.leftClick(x=974, y=500)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
Ctrl_V()
sleep(1)
# Copy MBB DNE Forwarding
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=525)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB OPT
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=550)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC OPT
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=575)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC SGD
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=600)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB INT
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=625)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB ABL
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=650)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB CPW
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=675)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC Wiz
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=675)
sleep(1)
pg.press('down', presses=1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Click Create
pg.press('tab', presses=2)
sleep(1)
pg.press('space')
# Create message box
pg.alert(text='Done, please check', title='Completed Create BID record', button='OK')
# Back to the desktop and go to SQL
Back_To_Windows()
pg.leftClick(x=270, y=748)
pg.leftClick(x=174, y=668)
# Open Customer Aging - Duty
pg.leftClick(x=207, y=95)
pg.leftClick(x=1320, y=689)
sleep(1)
pg.leftClick(x=485, y=509)
sleep(3)
pg.doubleClick(x=581, y=327)
sleep(3)
pg.leftClick(x=657, y=512)
# Open Customer invoices tab
pg.leftClick(x=174, y=36)
pg.leftClick(x=223, y=93)
sleep(15)
pg.rightClick(x=538, y=120)
pg.leftClick(x=630, y=687)
pg.rightClick(x=13, y=162)
pg.leftClick(x=76, y=228)
pg.rightClick(x=81, y=160)
pg.leftClick(x=139, y=226)
pg.moveTo(x=133, y=125)
pg.dragTo(38, 187, 1, button='left')
sleep(2)
pg.rightClick(x=245, y=163)
pg.leftClick(x=310, y=202)
pg.leftClick(x=460, y=510)
sleep(2)
pg.doubleClick(x=600, y=297)
sleep(2)
pg.leftClick(x=664, y=513)
pg.rightClick(x=245, y=163)
sleep(2)
pg.moveTo(x=315, y=261)
sleep(2)
pg.leftClick(x=539, y=264)
sleep(3)
pg.typewrite('456')
sleep(1)
pg.press('enter')
pg.press('y')
# Go back to desktop
Back_To_Windows()
# Open 456 excel and copy
pg.doubleClick(x=1086, y=627)
sleep(3)
pg.doubleClick(x=224, y=223)
sleep(10)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.leftClick(x=547, y=212)
sleep(3)
pg.typewrite("=vlookup(A:A,'[CT CHECK & DND LIST CHECK.xlsm]CashTerm'!$A:$D,4,false)")
pg.press('enter')
sleep(3)
pg.press('escape')
Back_To_Windows()
sleep(3)
pg.doubleClick(x=332, y=448)
sleep(1)
pg.leftClick(x=963, y=749)
pg.leftClick(x=953, y=653)
pg.leftClick(x=428, y=217)
sleep(1)
sleep(2)
pg.leftClick(x=147, y=11)
sleep(2)
pg.leftClick(x=429, y=355)
sleep(2)
pg.keyDown('ctrl')
pg.press('a')
pg.press('c')
pg.keyUp('ctrl')
sleep(2)
pg.press('enter')
# Paste into Cash Balance excel
pg.leftClick(x=961, y=740)
sleep(2)
pg.leftClick(x=1141, y=605)
sleep(2)
pg.leftClick(x=713, y=220)
pg.keyDown('ctrl')
pg.press('a')
pg.press('v')
pg.keyUp('ctrl')
pg.alert(text='CT Check done', title='Cash Term Check', button='OK')
sleep(2)
# Button
button = tk.Button(text="Start", font=("Arial", 10, "bold"), command=Start_Automation, width=10, height=5)
button.pack()
window.mainloop()
Basically its very simple coding without all kind of defined functions due to want to easy in reading, but I tried to convert into executable file, it's failed and showed below message when converting,
PS C:\Users\User\Dropbox\Company details\Python\PYAUTOGUI> pyinstaller -F Daily_Job_Automation.py
1437 INFO: PyInstaller: 4.9
1438 INFO: Python: 3.8.8 (conda)
1438 INFO: Platform: Windows-10-10.0.19041-SP0
1439 INFO: wrote C:\Users\User\Dropbox\Company details\Python\PYAUTOGUI\Daily_Job_Automation.spec
1441 INFO: UPX is not available.
1447 INFO: Extending PYTHONPATH with paths
['C:\\Users\\User\\Dropbox\\Company details\\Python\\PYAUTOGUI']
1936 INFO: checking Analysis
1936 INFO: Building Analysis because Analysis-00.toc is non existent
1936 INFO: Initializing module dependency graph...
1942 INFO: Caching module graph hooks...
1953 INFO: Analyzing base_library.zip ...
6186 INFO: Processing pre-find module path hook distutils from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks\\pre_find_module_path\\hook-distutils.py'.
6187 INFO: distutils: retargeting to non-venv dir 'C:\\Users\\User\\anaconda3\\lib'
9535 INFO: Caching module dependency graph...
9757 INFO: running Analysis Analysis-00.toc
9771 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
required by C:\Users\User\anaconda3\python.exe
10008 INFO: Analyzing C:\Users\User\Dropbox\Company details\Python\PYAUTOGUI\Daily_Job_Automation.py
12450 INFO: Processing pre-find module path hook site from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks\\pre_find_module_path\\hook-site.py'.
12450 INFO: site: retargeting to fake-dir 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\fake-modules'
27423 INFO: Processing pre-safe import module hook urllib3.packages.six.moves from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks\\pre_safe_import_module\\hook-urllib3.packages.six.moves.py'.
34945 INFO: Processing pre-safe import module hook six.moves from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks\\pre_safe_import_module\\hook-six.moves.py'.
45688 INFO: Processing pre-safe import module hook win32com from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\pre_safe_import_module\\hook-win32com.py'.
52902 INFO: Processing module hooks...
52902 INFO: Loading module hook 'hook-appdirs.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
52907 INFO: Loading module hook 'hook-bcrypt.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
52908 INFO: Loading module hook 'hook-certifi.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
52912 INFO: Loading module hook 'hook-cryptography.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
53125 INFO: Loading module hook 'hook-docutils.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
55107 INFO: Loading module hook 'hook-IPython.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
55560 INFO: Loading module hook 'hook-jedi.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
56562 INFO: Loading module hook 'hook-jinja2.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
56576 INFO: Loading module hook 'hook-jsonschema.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
56593 INFO: Loading module hook 'hook-nacl.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
56612 INFO: Loading module hook 'hook-nbconvert.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
56709 INFO: Loading module hook 'hook-nbformat.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
56759 INFO: Loading module hook 'hook-notebook.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
59379 INFO: Loading module hook 'hook-parso.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
59395 INFO: Loading module hook 'hook-py.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
59637 INFO: Loading module hook 'hook-pycparser.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
59638 INFO: Loading module hook 'hook-pytest.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
60619 INFO: Loading module hook 'hook-pythoncom.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
61126 INFO: Loading module hook 'hook-pywintypes.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
61630 INFO: Loading module hook 'hook-regex.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
61631 INFO: Loading module hook 'hook-win32com.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
C:\Users\User\anaconda3\lib\site-packages\win32com\client\makepy.py:369: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if path is not '' and not os.path.exists(path):
62317 INFO: Loading module hook 'hook-zmq.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
64036 INFO: Loading module hook 'hook-babel.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks'...
64180 INFO: Loading module hook 'hook-difflib.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks'...
64185 INFO: Loading module hook 'hook-distutils.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks'...
64185 INFO: Loading module hook 'hook-distutils.util.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks'...
64190 INFO: Loading module hook 'hook-encodings.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks'...
64259 INFO: Loading module hook 'hook-gevent.py' from 'C:\\Users\\User\\anaconda3\\lib\\site-packages\\PyInstaller\\hooks'...
Traceback (most recent call last):
File "C:\Users\User\anaconda3\Scripts\pyinstaller-script.py", line 10, in <module>
sys.exit(run())
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\__main__.py", line 124, in run
run_build(pyi_config, spec_file, **vars(args))
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\__main__.py", line 58, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\building\build_main.py", line 793, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\building\build_main.py", line 725, in build
exec(code, spec_namespace)
File "C:\Users\User\Dropbox\Company details\Python\PYAUTOGUI\Daily_Job_Automation.spec", line 7, in <module>
a = Analysis(['Daily_Job_Automation.py'],
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\building\build_main.py", line 277, in __init__
self.__postinit__()
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\building\datastruct.py", line 155, in __postinit__
self.assemble()
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\building\build_main.py", line 445, in assemble
self.graph.process_post_graph_hooks(self)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\depend\analysis.py", line 326, in process_post_graph_hooks
module_hook.post_graph(analysis)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\depend\imphook.py", line 398, in post_graph
self._load_hook_module()
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\depend\imphook.py", line 361, in _load_hook_module
self._hook_module = importlib_load_source(self.hook_module_name, self.hook_filename)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\compat.py", line 606, in importlib_load_source
return mod_loader.load_module()
File "<frozen importlib._bootstrap_external>", line 462, in _check_name_wrapper
File "<frozen importlib._bootstrap_external>", line 962, in load_module
File "<frozen importlib._bootstrap_external>", line 787, in load_module
File "<frozen importlib._bootstrap>", line 265, in _load_module_shim
File "<frozen importlib._bootstrap>", line 702, in _load
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\hooks\hook-gevent.py", line 16, in <module>
datas, binaries, hiddenimports = collect_all(
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 1081, in collect_all
hiddenimports = collect_submodules(package_name, filter=filter_submodules)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 564, in collect_submodules
names = exec_statement(
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 91, in exec_statement
return __exec_statement(statement, capture_stdout=True)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 75, in __exec_statement
return __exec_python_cmd(cmd, capture_stdout=capture_stdout)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 66, in __exec_python_cmd
txt = compat.exec_python(*cmd, env=pp_env)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\compat.py", line 546, in exec_python
return exec_command(*cmdargs, **kwargs)
File "C:\Users\User\anaconda3\lib\site-packages\PyInstaller\compat.py", line 332, in exec_command
out = proc.communicate(timeout=60)[0]
File "C:\Users\User\anaconda3\lib\subprocess.py", line 1028, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
File "C:\Users\User\anaconda3\lib\subprocess.py", line 1401, in _communicate
raise TimeoutExpired(self.args, orig_timeout)
subprocess.TimeoutExpired: Command '('C:\\Users\\User\\anaconda3\\python.exe', '-c', '\nimport sys\nimport pkgutil\nimport traceback\n\n# ``pkgutil.walk_packages`` does not walk subpackages of zipped files per https://bugs.python.org/i
ssue14209.\n# This is a workaround.\ndef walk_packages(path=None, prefix=\'\', onerror=None):\n def seen(p, m={}):\n if p in m:\n return True\n m[p] = True\n\n for importer, name, ispkg in pkgutil.iter_mo
dules(path, prefix):\n if not name.startswith(prefix):\n name = prefix + name\n yield importer, name, ispkg\n\n if ispkg:\n try:\n __import__(name)\n except ImportErr
or:\n if onerror is not None:\n onerror(name)\n except Exception:\n if onerror is not None:\n onerror(name)\n else:\n trac
eback.print_exc(file=sys.stderr)\n print("collect_submodules: failed to import %r!" % name, file=sys.stderr)\n else:\n path = getattr(sys.modules[name], \'__path__\', None) or []\n\n
# don\'t traverse path items we\'ve seen before\n path = [p for p in path if not seen(p)]\n\n # Use Py2 code here. It still works in Py3.\n for item in walk_packages(path, name+\'.\'
, onerror):\n yield item\n # This is the original Py3 code.\n #yield from walk_packages(path, name+\'.\', onerror)\n\nfor module_loader, name, ispkg in walk_packages([\'C:\\\\Users\\\\Us
er\\\\anaconda3\\\\lib\\\\site-packages\\\\gevent\'], \'gevent.\'):\n print(\'\\n$_pyi:\' + name + \'*\')\n')' timed out after 60 seconds
Appreciate if anyone here able to take sometimes to understand and gives some valuable opition on this, thank you.
It may be caused if it can't find additional files . Follow the following steps to resolve it:
Go inside additional files
and select add folder
. Now go inside your python folder and inside Lib/site-packages
select pyautogui folder now do the same for adding PyAutoGUI-0.9.xx (The version may be different.) . Once done do the other things you want like adding icon, script etc. At last hit the Convert button. It may work.
It might be because of Windows defender or any antivirus please disable it before building EXE. You can also try replacing your code with this:
import subprocess
import pyautogui as pg
from time import sleep
import tkinter as tk
try:
# ------------------------------UI----------------------------------------------------
window = tk.Tk()
window.title("Daily Job Automation")
window.minsize(width=500, height=300)
my_label = tk.Label(text="Daily Job Automation", font=("Arial", 24, "bold"))
my_label.pack()
# ------------------------------Function----------------------------------------------------
def setUp(self):
self.oldFailsafeSetting = pg.FAILSAFE
pg.FAILSAFE = False
pg.moveTo(0, 0) # make sure failsafe isn't triggered during this test
pg.FAILSAFE = True
def Ctrl_C():
pg.keyDown('ctrl')
pg.press('c')
pg.keyUp('ctrl')
def Ctrl_V():
pg.keyDown('ctrl')
pg.press('v')
pg.keyUp('ctrl')
def Back_To_Windows():
pg.keyDown('win')
pg.press('d')
pg.keyUp('win')
def Start_Automation():
# Open SQL
Back_To_Windows()
pg.PAUSE = 0.2
pg.leftClick(x=272, y=745)
sleep(10)
# Change company in SQL
pg.leftClick(x=603, y=464)
pg.typewrite('dne f')
pg.press('enter')
sleep(1)
# Key in password
pg.press('tab', presses=2)
sleep(1)
pg.typewrite('ss0214')
pg.press('enter')
# Open Customer Aging Report
sleep(5)
pg.keyDown('win')
pg.press('up', presses=3)
pg.keyUp('win')
sleep(2)
pg.leftClick(x=176, y=45)
sleep(5)
pg.leftClick(x=227, y=327)
sleep(5)
pg.leftClick(x=471, y=306)
sleep(15)
# Open filter
pg.rightClick(x=445, y=373)
sleep(5)
pg.leftClick(x=508, y=378)
sleep(5)
pg.leftClick(x=1301, y=694)
sleep(5)
pg.leftClick(x=457, y=510)
sleep(8)
pg.leftClick(x=654, y=126)
pg.keyDown('ctrl')
pg.press('a')
pg.keyUp('ctrl')
pg.typewrite('sql')
pg.press('down')
pg.press('enter')
sleep(2)
pg.doubleClick(x=586, y=213)
pg.leftClick(x=656, y=508)
pg.rightClick(x=1273, y=653)
pg.leftClick(x=1231, y=637)
sleep(3)
# Open BID file
Back_To_Windows()
pg.doubleClick(x=424, y=42)
sleep(3)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.keyDown('ctrl')
pg.press('f')
pg.keyUp('ctrl')
pg.typewrite('dne fwg')
pg.press('enter')
pg.press('esc')
pg.press('down', presses=2)
Ctrl_V()
# Open Over 90 days and copy to BID
pg.leftClick(x=279, y=751)
pg.leftClick(x=1321, y=691)
sleep(3)
pg.leftClick(x=471, y=511)
sleep(3)
pg.doubleClick(x=604, y=249)
sleep(3)
pg.leftClick(x=659, y=515)
sleep(3)
pg.rightClick(x=1155, y=659)
pg.leftClick(x=1171, y=645)
pg.leftClick(x=959, y=744)
pg.press('right', presses=2)
Ctrl_V()
# Open Supplier Aging and copy to BID
pg.leftClick(x=279, y=751)
pg.leftClick(x=231, y=33)
sleep(3)
pg.leftClick(x=320, y=327)
sleep(3)
pg.leftClick(x=587, y=247)
sleep(15)
pg.rightClick(x=370, y=375)
sleep(3)
pg.leftClick(x=434, y=372)
sleep(3)
pg.leftClick(x=1292, y=685)
sleep(3)
pg.leftClick(x=486, y=508)
sleep(3)
pg.doubleClick(x=584, y=271)
pg.leftClick(x=669, y=510)
pg.rightClick(x=1311, y=655)
pg.leftClick(x=1241, y=644)
pg.leftClick(x=950, y=743)
pg.press('left')
Ctrl_V()
# Open SQL for DNE TTL
pg.rightClick(x=270, y=748)
sleep(1)
pg.leftClick(x=195, y=641)
sleep(1)
pg.leftClick(x=603, y=460)
pg.typewrite('dne t')
pg.press('enter')
pg.press('tab', presses=2)
sleep(2)
pg.typewrite('ss0214')
pg.press('enter')
# Open Customer Aging Report
sleep(5)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.leftClick(x=176, y=45)
sleep(5)
pg.leftClick(x=227, y=327)
sleep(5)
pg.leftClick(x=471, y=306)
sleep(15)
# Open filter
pg.rightClick(x=445, y=373)
sleep(5)
pg.leftClick(x=508, y=378)
sleep(5)
pg.leftClick(x=1301, y=694)
sleep(5)
pg.leftClick(x=457, y=510)
sleep(8)
pg.doubleClick(x=586, y=213)
pg.leftClick(x=656, y=508)
pg.rightClick(x=1273, y=653)
pg.leftClick(x=1231, y=637)
sleep(3)
# Open BID
pg.leftClick(x=961, y=752)
pg.press('right', presses=2)
Ctrl_V()
sleep(1)
# Open Over 90 days and copy to BID
pg.leftClick(x=279, y=751)
sleep(1)
pg.leftClick(x=430, y=589)
sleep(1)
pg.leftClick(x=1321, y=691)
sleep(3)
pg.leftClick(x=471, y=511)
sleep(3)
pg.doubleClick(x=604, y=249)
sleep(3)
pg.leftClick(x=659, y=515)
sleep(3)
pg.rightClick(x=1155, y=659)
pg.leftClick(x=1171, y=645)
pg.leftClick(x=959, y=744)
pg.press('right', presses=2)
Ctrl_V()
# Open Supplier Aging and copy to BID
pg.leftClick(x=279, y=751)
sleep(1)
pg.leftClick(x=430, y=589)
sleep(1)
pg.leftClick(x=231, y=33)
sleep(3)
pg.leftClick(x=320, y=327)
sleep(3)
pg.leftClick(x=587, y=247)
sleep(15)
pg.rightClick(x=370, y=375)
sleep(3)
pg.leftClick(x=434, y=372)
sleep(3)
pg.leftClick(x=1292, y=685)
sleep(3)
pg.leftClick(x=486, y=508)
sleep(3)
pg.doubleClick(x=584, y=271)
pg.leftClick(x=669, y=510)
pg.rightClick(x=1311, y=655)
pg.leftClick(x=1241, y=644)
pg.leftClick(x=950, y=743)
pg.press('left')
Ctrl_V()
# Open Google Chrome tabs
pg.leftClick(x=125, y=740)
sleep(3)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.rightClick(x=308, y=81)
sleep(1)
pg.leftClick(x=389, y=105)
sleep(1)
pg.rightClick(x=402, y=86)
pg.leftClick(x=483, y=108)
pg.press('enter')
sleep(3)
pg.keyDown('ctrl')
sleep(1)
pg.press('w')
sleep(1)
pg.keyUp('ctrl')
sleep(1)
pg.press('enter')
# Ask for the OTP
pg.leftClick(x=631, y=437)
pg.alert(text='Please enter OTP', title='OTP', button='ok')
sleep(15)
# Go to the BID tab
pg.press('pagedown', presses=5)
sleep(1)
pg.leftClick(x=901, y=311)
sleep(2)
pg.leftClick(x=216, y=285)
sleep(2)
pg.leftClick(x=81, y=235)
# Create new record
sleep(1)
# Copy and paste AR
pg.leftClick(x=423, y=403)
pg.leftClick(x=949, y=749)
pg.leftClick(x=881, y=294)
Ctrl_C()
pg.leftClick(x=134, y=747)
Ctrl_V()
# Copy and paste AP
pg.leftClick(x=390, y=407)
pg.press('tab')
sleep(1)
pg.leftClick(x=958, y=752)
pg.press('tab')
Ctrl_C()
pg.leftClick(x=117, y=730)
sleep(1)
Ctrl_V()
# Copy and paste over 90 days
pg.leftClick(x=418, y=441)
sleep(1)
pg.press('tab', presses=2)
sleep(1)
pg.leftClick(x=962, y=749)
pg.press('tab')
Ctrl_C()
sleep(1)
pg.leftClick(x=127, y=745)
Ctrl_V()
# Copy AR collected to date
pg.leftClick(x=950, y=741)
sleep(1)
pg.press('tab')
Ctrl_C()
pg.leftClick(x=122, y=752)
pg.leftClick(x=393, y=482)
Ctrl_V()
# Copy Customer fund
pg.leftClick(x=376, y=606)
sleep(1)
pg.leftClick(x=952, y=745)
pg.leftClick(x=975, y=348)
Ctrl_C()
sleep(1)
pg.leftClick(x=127, y=750)
pg.leftClick(x=376, y=606)
sleep(1)
Ctrl_V()
sleep(1)
# Key in amount into OD used
pg.press('tab')
pg.typewrite('400000')
sleep(1)
# Copy Company's fund
pg.leftClick(x=951, y=740)
sleep(1)
pg.leftClick(x=975, y=375)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.leftClick(x=376, y=686)
Ctrl_V()
sleep(1)
# Copy Total available fund
pg.leftClick(x=951, y=740)
pg.leftClick(x=975, y=400)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.leftClick(x=376, y=686)
pg.press('tab', presses=1)
Ctrl_V()
sleep(1)
# Key zero into Forecast column
pg.press('tab')
pg.press('0')
pg.press('tab')
pg.press('0')
sleep(1)
# Copy MBB DNE TTL
pg.leftClick(x=951, y=740)
pg.leftClick(x=975, y=450)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# key in 0 into DNE TTL Dep
pg.press('tab')
pg.press('0')
sleep(1)
# Copy OCBC DNE TTL
pg.leftClick(x=951, y=740)
pg.leftClick(x=975, y=475)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC DNE TTL USD
pg.leftClick(x=951, y=740)
pg.leftClick(x=974, y=500)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
Ctrl_V()
sleep(1)
# Copy MBB DNE Forwarding
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=525)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB OPT
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=550)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC OPT
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=575)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC SGD
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=600)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB INT
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=625)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB ABL
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=650)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy MBB CPW
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=675)
sleep(1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Copy OCBC Wiz
pg.leftClick(x=951, y=740)
pg.leftClick(x=972, y=675)
sleep(1)
pg.press('down', presses=1)
Ctrl_C()
sleep(1)
pg.leftClick(x=129, y=743)
pg.press('tab')
Ctrl_V()
sleep(1)
# Click Create
pg.press('tab', presses=2)
sleep(1)
pg.press('space')
# Create message box
pg.alert(text='Done, please check', title='Completed Create BID record', button='OK')
# Back to the desktop and go to SQL
Back_To_Windows()
pg.leftClick(x=270, y=748)
pg.leftClick(x=174, y=668)
# Open Customer Aging - Duty
pg.leftClick(x=207, y=95)
pg.leftClick(x=1320, y=689)
sleep(1)
pg.leftClick(x=485, y=509)
sleep(3)
pg.doubleClick(x=581, y=327)
sleep(3)
pg.leftClick(x=657, y=512)
# Open Customer invoices tab
pg.leftClick(x=174, y=36)
pg.leftClick(x=223, y=93)
sleep(15)
pg.rightClick(x=538, y=120)
pg.leftClick(x=630, y=687)
pg.rightClick(x=13, y=162)
pg.leftClick(x=76, y=228)
pg.rightClick(x=81, y=160)
pg.leftClick(x=139, y=226)
pg.moveTo(x=133, y=125)
pg.dragTo(38, 187, 1, button='left')
sleep(2)
pg.rightClick(x=245, y=163)
pg.leftClick(x=310, y=202)
pg.leftClick(x=460, y=510)
sleep(2)
pg.doubleClick(x=600, y=297)
sleep(2)
pg.leftClick(x=664, y=513)
pg.rightClick(x=245, y=163)
sleep(2)
pg.moveTo(x=315, y=261)
sleep(2)
pg.leftClick(x=539, y=264)
sleep(3)
pg.typewrite('456')
sleep(1)
pg.press('enter')
pg.press('y')
# Go back to desktop
Back_To_Windows()
# Open 456 excel and copy
pg.doubleClick(x=1086, y=627)
sleep(3)
pg.doubleClick(x=224, y=223)
sleep(10)
pg.keyDown('win')
pg.press('up', presses=2)
pg.keyUp('win')
sleep(2)
pg.leftClick(x=547, y=212)
sleep(3)
pg.typewrite("=vlookup(A:A,'[CT CHECK & DND LIST CHECK.xlsm]CashTerm'!$A:$D,4,false)")
pg.press('enter')
sleep(3)
pg.press('escape')
Back_To_Windows()
sleep(3)
pg.doubleClick(x=332, y=448)
sleep(1)
pg.leftClick(x=963, y=749)
pg.leftClick(x=953, y=653)
pg.leftClick(x=428, y=217)
sleep(1)
sleep(2)
pg.leftClick(x=147, y=11)
sleep(2)
pg.leftClick(x=429, y=355)
sleep(2)
pg.keyDown('ctrl')
pg.press('a')
pg.press('c')
pg.keyUp('ctrl')
sleep(2)
pg.press('enter')
# Paste into Cash Balance excel
pg.leftClick(x=961, y=740)
sleep(2)
pg.leftClick(x=1141, y=605)
sleep(2)
pg.leftClick(x=713, y=220)
pg.keyDown('ctrl')
pg.press('a')
pg.press('v')
pg.keyUp('ctrl')
pg.alert(text='CT Check done', title='Cash Term Check', button='OK')
sleep(2)
# Button
button = tk.Button(text="Start", font=("Arial", 10, "bold"), command=Start_Automation, width=10, height=5)
button.pack()
window.mainloop()
except subprocess.TimeoutExpired:
pass
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.