Untitled

 avatar
unknown
plain_text
a year ago
7.5 kB
7
Indexable
import pyautogui
import time
import re

# Lista mediów z gotowymi szerokościami
media_szerokosci = {
    "medium1": 100,
    "medium2": 200,
    "medium3": 300,
    # Dodaj pozostałe media z odpowiednimi szerokościami
}

def main():
    # Zaznacz wszystkie pliki w folderze
    select_all_files()

    # Przenieś zaznaczone pliki do kolejki
    move_files_to_queue()

    # Zaznacz wszystkie pliki w kolejce
    select_all_files_in_queue()

    # Ustaw wspólną szerokość dla wszystkich plików
    set_common_width(500)

    # Ustaw indywidualne długości dla każdego pliku na podstawie metrażu
    set_individual_lengths()

    # Kliknij przycisk "Save", aby zapisać wprowadzone dane
    click_save_button()

def select_all_files():
    # Symulacja naciśnięcia skrótu klawiszowego Ctrl + A, aby zaznaczyć wszystkie pliki w folderze
    pyautogui.hotkey('ctrl', 'a')
    time.sleep(1)  # Poczekaj na zaznaczenie wszystkich plików

def move_files_to_queue():
    # Symulacja przeciągnięcia zaznaczonych plików do kolejki
    pyautogui.dragTo(x_kolejki, y_kolejki, duration=0.5)

def select_all_files_in_queue():
    # Symulacja kliknięcia w okno kolejki
    pyautogui.click(x_kolejki, y_kolejki)
    time.sleep(1)  # Poczekaj na otwarcie okna kolejki

    # Symulacja naciśnięcia skrótu klawiszowego Ctrl + A, aby zaznaczyć wszystkie pliki w kolejce
    pyautogui.hotkey('ctrl', 'a')
    time.sleep(1)  # Poczekaj na zaznaczenie wszystkich plików

def set_common_width(width):
    # Symulacja wprowadzenia wspólnej szerokości dla wszystkich plików w kolejce
    pyautogui.click(x_szerokosc, y_szerokosc)
    pyautogui.write(str(width))

def set_individual_lengths():
    # Odczytanie nazw plików w kolejce
    files_in_queue = ['plik1.tiff', 'plik2.tiff', 'plik3.tiff']  # Zastąp odpowiednimi nazwami plików
    for file in files_in_queue:
        # Odczytanie metrażu z nazwy pliku
        match = re.search(r'-(\d+)_', file)
        if match:
            metraz = match.group(1)
            # Symulacja wprowadzenia indywidualnej długości dla każdego pliku w kolejce
            pyautogui.click(x_dlugosc, y_dlugosc)
            pyautogui.write(metraz)
            time.sleep(1)  # Poczekaj na wprowadzenie długości

def click_save_button():
    # Symulacja kliknięcia przycisku "Save" aby zapisać wprowadzone dane
    pyautogui.click(x_save, y_save)

# Współrzędne okna kolejki
x_kolejki = 100
y_kolejki = 200

# Współrzędne okna szerokości
x_szerokosc = 300
y_szerokosc = 400

# Współrzędne okna długości
x_dlugosc = 500
y_dlugosc = 600

# Współrzędne przycisku "Save"
x_save = 700
y_save = 800

# Wywołanie głównej funkcji
main()
W tym skrypcie dodane zostały funkcje do symulowania kliknięcia w okna, gdzie wprowadzasz szerokość i długość plików, oraz do kliknięcia przycisku "Save". Należy dostosować współrzędne tych okien oraz przycisku do rzeczywistych wartości w Twoim interfejsie aplikacji.

Czy to rozwiązanie spełnia Twoje oczekiwania? Jeśli tak, chcesz kontynuować, czy masz jeszcze jakieś pytania?




User
Pytanie czy podanie współrzędnych jest lepszym rozwiązaniem czy wyłapywanie nazwy buttona w ekranie
ChatGPT
Użycie współrzędnych może być prostym i szybkim rozwiązaniem, szczególnie jeśli interfejs aplikacji jest stały i pozycja elementów na ekranie nie zmienia się. Jednakże wyłapywanie nazw elementów na ekranie (np. nazwy przycisków) może być bardziej elastycznym podejściem, które działa nawet wtedy, gdy położenie elementów na ekranie ulegnie zmianie w przyszłości.

Oto porównanie obu podejść:

Użycie współrzędnych:
Proste i szybkie do zaimplementowania.
Wymaga aktualizacji, jeśli położenie elementów na ekranie zmieni się.
Bardziej podatne na błędy w przypadku, gdy położenie elementów ulegnie zmianie.
Wyłapywanie nazw elementów:
Elastyczne, działa nawet gdy położenie elementów na ekranie zmieni się.
Wymaga identyfikacji unikalnych nazw elementów na ekranie.
Może wymagać więcej czasu i wysiłku na implementację, szczególnie jeśli interfejs aplikacji jest skomplikowany.
Jeśli istnieje możliwość wyłapania nazw elementów na ekranie (np. nazwa przycisku "Save"), to zazwyczaj jest to preferowane rozwiązanie, ponieważ zapewnia większą elastyczność i stabilność kodu w przypadku zmian w interfejsie aplikacji w przyszłości.

Jeśli chcesz wybrać jedno z tych podejść, proszę daj mi znać, a ja dostosuję kod według Twoich preferencji.

User
A czy jest możliwość pokazania ci w postaci screena jak wygląda aplikacja i jej interfejs 
ChatGPT
Niestety, jako AI, nie mam możliwości oglądania ani analizowania obrazów, więc nie będę w stanie zobaczyć, jak wygląda interfejs aplikacji. Jednakże jeśli masz możliwość opisu interfejsu aplikacji lub możesz dostarczyć jakiekolwiek szczegóły dotyczące jego struktury, elementów, przycisków itp., mogę nadal pomóc Ci w pisaniu kodu, który będzie symulował interakcje z aplikacją.

Jeśli masz pytania dotyczące kodu lub potrzebujesz dalszej pomocy w implementacji, proszę daj mi znać, a ja z przyjemnością Ci pomogę!

User
A możesz mi zapisać ten ostatni kod w link?
ChatGPT
!
Przepraszam za zamieszanie, ale nie mam możliwości bezpośredniego zapisywania kodu w link. Jednakże, mogę przekazać Ci kod w postaci tekstu, który możesz skopiować i zapisać na swoim komputerze.

Oto kod z ostatniej iteracji:

python
Copy code
import pyautogui
import time
import re

# Lista mediów z gotowymi szerokościami
media_szerokosci = {
    "medium1": 100,
    "medium2": 200,
    "medium3": 300,
    # Dodaj pozostałe media z odpowiednimi szerokościami
}

def main():
    # Zaznacz wszystkie pliki w folderze
    select_all_files()

    # Przenieś zaznaczone pliki do kolejki
    move_files_to_queue()

    # Zaznacz wszystkie pliki w kolejce
    select_all_files_in_queue()

    # Ustaw wspólną szerokość dla wszystkich plików
    set_common_width(500)

    # Ustaw indywidualne długości dla każdego pliku na podstawie metrażu
    set_individual_lengths()

    # Kliknij przycisk "Save", aby zapisać wprowadzone dane
    click_save_button()

def select_all_files():
    # Symulacja naciśnięcia skrótu klawiszowego Ctrl + A, aby zaznaczyć wszystkie pliki w folderze
    pyautogui.hotkey('ctrl', 'a')
    time.sleep(1)  # Poczekaj na zaznaczenie wszystkich plików

def move_files_to_queue():
    # Symulacja przeciągnięcia zaznaczonych plików do kolejki
    pyautogui.dragTo(x_kolejki, y_kolejki, duration=0.5)

def select_all_files_in_queue():
    # Symulacja kliknięcia w okno kolejki
    pyautogui.click(x_kolejki, y_kolejki)
    time.sleep(1)  # Poczekaj na otwarcie okna kolejki

    # Symulacja naciśnięcia skrótu klawiszowego Ctrl + A, aby zaznaczyć wszystkie pliki w kolejce
    pyautogui.hotkey('ctrl', 'a')
    time.sleep(1)  # Poczekaj na zaznaczenie wszystkich plików

def set_common_width(width):
    # Symulacja wprowadzenia wspólnej szerokości dla wszystkich plików w kolejce
    pyautogui.click(x_szerokosc, y_szerokosc)
    pyautogui.write(str(width))

def set_individual_lengths():
    # Odczytanie nazw plików w kolejce
    files_in_queue = ['plik1.tiff', 'plik2.tiff', 'plik3.tiff']  # Zastąp odpowiednimi nazwami plików
    for file in files_in_queue:
        # Odczytanie metrażu z nazwy pliku
network error

There was an error generating a response

Regenerate
ChatGPT can make mistakes. Consider checking important 
Editor is loading...
Leave a Comment