Pracuję nad materiałem automatyzacji w systemie MacOS Sierra (10.12.2). Korzystając z obsługi Pythona, mogę uruchomić przeglądarkę Safari i włączyć ustawienia poprzez Safari -> Preferencje -> Zaawansowane -> sprawdź "włącz Menu rozwijania", a następnie wybierz "Rozwiń -> Zezwalaj na zdalną automatyzację". Wygląda na to, że nie jest to tak spójne z punktu widzenia automatyzacji. Chciałbym wiedzieć, czy jest jakieś polecenie powłoki, aby to umożliwić.macOS Sierra - jak włączyć "Pozwól na zdalną automatyzację" za pomocą linii poleceń
Odpowiedz
Hmm ok, tak jak w moim komentarzu:
można zrobić defaults write com.apple.Safari IncludeDevelopMenu YES
aby uaktywnić menu rozwoju poprzez terminal. Możesz uzyskać pythona, aby wykonać to polecenie dla ciebie przy użyciu subprocess module.
Zgodnie z tym pytaniem this wydaje się, że zwykle można było po prostu wykonać defaults write com.apple.Safari AllowRemoteAutomation 1
. Jednak od wersji Safari 10 opcja ta najwyraźniej została poddana wyższemu protokołowi bezpieczeństwa lub czemuś podobnemu (być może z powodu wprowadzonej Ochrony integralności systemu). Szukałem plistfile, który teraz ma ustawienie, ale nie byłem w stanie go znaleźć. Być może nie ma go już w pliku plistfile.
Chyba to pozostawia cię z 2 opcji: osascript
- użyć programu Apple do symulacji potrzebne kliknięcia myszką.
- Należy ponownie zadać pytanie pod numer AskDifferent lub Apple's own developers forum, ponieważ prawdopodobieństwo znalezienia osoby z dogłębną znajomością systemu macOS jest większe.
Dzięki za odpowiedź, ale to nie zadziałało. Czy pójdzie z sugerowanymi forami w czasie wolnym. Dzięki jeszcze raz! –
Ok, w krótkim czasie, ale możesz zrobić "defaults write com.apple.Safari IncludeDevelopMenu YES', aby aktywować menu programowania za pośrednictwem terminala. Nie mogłem łatwo zlokalizować pliku .plist, w którym znajduje się opcja "Zezwalaj na zdalną automatyzację", ale powinna istnieć jedna i powinieneś być w stanie również użyć komendy defaults. Możesz też użyć osascript Apple'a i zasymulować kliknięcia myszką (nie poleciłbyś tego). Używając Pythona, spróbuję użyć podprocesu.Popen() w poleceniu defaults. Spróbuję później wieczorem, chyba, że twoje pytanie zostanie już odebrane. – Montmons