1

I have a problem with a program that uses Selenium to manipulate the web and integrates a class we created that encapsulates the use of pyautogui to simulate key pressing.

When I run the program in VSC, there’s no error, but when I generate the .exe using pyinstaller and then run the program, the part that uses pyautogui just doesn’t work. I also tried to use other libraries such as keyboard or pywinauto, but it’s the same story.

The piece of code that fails looks like this:

def download_salesforce_reports():
 '''
 Downloads the reports from Salesforce based on the list of codes of excel file, and
 '''
 
 global keyboard, screen_controller
 
 file_path = global_config['excel_file']
 current_sheet = 'Sheet1'
 wbc = WebController("Google")
 if "chromedriver.exe" not in os.listdir(os.getcwd()):
 wbc.downloadWebDriver()
 wbc.startWindow(url="https://example-url.com")
 
 # Obtains the info of the codes to pass as input in Salesforce
 list_numero_cuentas = get_codes_list(file_path, current_sheet, 'Funda empaque')
 list_numero_cuentas_pdfs = []
 for num_cuenta in list_numero_cuentas:
 # Update current_report data to show in UI
 global_config['status']['current_report'] = num_cuenta
 
 # Select input, write code and press Enter
 screen_controller.see_image_and_click(f'{global_config["path_dir_img_salesforce"]}\01円.png')
 time.sleep(1)
 keyboard.press_hot_key('ctrl', 'a')
 keyboard.press_key('delete')
 
 time.sleep(1.5)
 keyboard.write_text(num_cuenta)
 time.sleep(1.5)
 keyboard.press_key('down')

As you can see, I created classes that encapsulate pyautogui (keyboard object) and Selenium (WebController) methods, and while the Selenium logic works correctly, the part of using the keyboard just doesn’t work when I run my created .exe file. No errors are indicated; instead, the console indicates the execution of that code part is correct, but the problem is that it just doesn’t work.

The command that I use to create the .exe is this one:

pyinstaller --onefile --hidden-import python --add-data "web;web" --add-data "python/config.py;python" --add-data "python/;python" --add-data "python/download_reports.py;python" --hidden-import comtypes.stream python/main.py

I would be very thankful if someone can guide me or tell me if they see something wrong here.

Corey Goldberg
61.6k30 gold badges135 silver badges148 bronze badges
asked Jun 27, 2025 at 18:02

0

Know someone who can answer? Share a link to this question via email, Twitter, or Facebook.

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.