Использование сканера штрих-кода вместе с AppleScripts - PullRequest
0 голосов
/ 04 мая 2019

Я хочу, чтобы программа подождала, пока пользователь отсканирует штрих-код, возьмет текст, введенный сканером штрих-кода, и перетянет этот код в форму Google.

Добрый день,

Я знаком с Apple Scripts и уже использовал его для автоматизации задач, но я пытаюсь превратить его в более конкретную задачу.Я планирую открыть форму Google в Safari.Затем подождите, пока пользователь отсканирует штрих-код, затем извлеките этот входной текст из штрих-кода и поместите его в место в форме Google.Любая помощь была бы признательна за любую помощь в том, что программа могла дождаться ввода штрих-кода, а затем продолжить работу со сценарием!Спасибо!

Ниже приведен пример формы Google, в которой указано, что будет делать следующий код: https://forms.gle/E4SGL7jPqaHsf5Cb9

(Обратите внимание, что в приведенном ниже коде повторы закомментированыпотому что они в конечном итоге будут использоваться, но не во время тестирования.)

Код:

    --repeat--

    tell application "Safari"

        activate

        make new document

    end tell


    tell application "System Events"

        tell application process "Safari"

            keystroke "https://forms.gle/isxQK1xjkow8xiUq8"

            keystroke return

        delay 2

        keystroke tab

        -- This is where the code would need to be added for inputing the text from the barcode scanner --

        keystroke tab

        keystroke return

        end tell

        end tell


        tell application "Safari"

        close window 1

        end tell

    --end repeat--

1 Ответ

0 голосов
/ 07 мая 2019

Вы можете сделать что-то вроде этого:

tell application "Safari"
    activate
    make new document
    tell the front document
        set the URL to "https://forms.gle/isxQK1xjkow8xiUq8"
        repeat until source ≠ "" -- wait for web page to fully load
            delay 0.5
        end repeat

        repeat -- wait until Key Card Code input field is not empty
            try
                if ["", current application] does not contain ¬
                    (do JavaScript "document
                    .querySelector('input.exportInput')
                    .dataset['initialValue'];") then ¬
                    exit repeat
            end try
            delay 1
        end repeat

        -- Click the Submit button
        do JavaScript "document.querySelector('div.quantumWizButtonEl')
                               .click();"
    end tell
end tell

Что также может быть примечательным и полезным для вас, так это то, что я считаю, что код карты-ключа может быть передан через параметр запроса в следующем URL:

https://docs.google.com/forms/d/e/1FAIpQLSftqU8ZKpiw-JNwD_IF2LQ5of2rvZwT9kWUTEm2pH_YEX4rwg/formResponse?fvv=1&entry.240624510={{Key-Card-Code}}

, где {{Key-Card-Code}} должен быть заменен вводом. Это может обеспечить альтернативные средства автоматизации отправки форм.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...