我希望程序等待用户扫描条形码,接受条形码扫描仪输入的文本,然后将该代码放入Google表单。
美好的一天,
我熟悉Apple Scripts,并且在自动执行任务之前就使用过它,但是我试图使它成为更具体的任务。我的计划是在Safari中打开Google表单。然后等待用户扫描条形码,然后从条形码中获取输入文本,然后将其放入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--
答案 0 :(得分:0)
您可以执行以下操作:
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}}
将被输入替换。它可能提供了自动化表单提交的另一种方法。