Это сообщение об ошибке ...
PermissionError: [Errno 1] Operation not permitted
... означает, что ChromeDriver не смог создать требуемый новый ресурс например logfile при инициализации нового WebDriver и Веб-клиент * сеанс 1013 *.
Согласно обсуждению Pythonista
- Limitations due to iOS
Ниже приведены некоторые ограничения при использовании Pythonista :
- Нет форка / exec для новых процессов.Влияет на модуль подпроцесса.
- Из-за отсутствия разветвления нет полной очистки ресурсов процесса (памяти, потоков, файловых дескрипторов).
- Нет доступа к файлам вне каталога приложения.
- Нет
/dev/null
и другие специальные файлы. - Ограниченная вычислительная мощность устройств (по сравнению с обычными ПК / Mac).
- Процесс обычно останавливается / прерывается через некоторое время.
Простой пример:
>>> import subprocess
>>> subprocess.call(["ls", "-l"])
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/mobile/Containers/Bundle/Application/8C59C68D-71BF-4CBB-90F8-373A1752DEE1/Pythonista.app/pylib/subprocess.py", line 524, in call
return Popen(*popenargs, **kwargs).wait()
File "/private/var/mobile/Containers/Bundle/Application/8C59C68D-71BF-4CBB-90F8-373A1752DEE1/Pythonista.app/pylib/subprocess.py", line 711, in __init__
errread, errwrite)
File "/private/var/mobile/Containers/Bundle/Application/8C59C68D-71BF-4CBB-90F8-373A1752DEE1/Pythonista.app/pylib/subprocess.py", line 1205, in _execute_child
self.pid = os.fork()
OSError: [Errno 1] Operation not permitted
Что не так в вашем сценарии использования
Возможны следующие 2 проблемы:
Когда вы вызываете следующую строку кода:
browser = webdriver.Chrome()
ChromeDriver пытается создать / изменить / доступ scoped_directory в файловой системе.Например, в ОС Windows :
"chromedriverVersion": "2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73)",
"userDataDir": "C:\\Users\\username\\AppData\\Local\\Temp\\scoped_dir5188_12717"
Возможно ChromeDriver не может выполнить эту задачу / метод / функциональность.
Снова, когда вы вызываете следующую строку кода:
browser = webdriver.Chrome()
Согласно selenium.webdriver.chrome.webdriver
ChromeDriver пытается создать logfile
в файловой системе согласно конструктору следующим образом:
class selenium.webdriver.chrome.webdriver.WebDriver(executable_path='chromedriver', port=0, options=None, service_args=None, desired_capabilities=None, service_log_path=None, chrome_options=None)
Возможно ChromeDriver не может выполнить эту задачу / метод / функциональность,
По указанным выше причинам вы видите ошибку:
PermissionError: [Errno 1] Operation not permitted
Решение
В случае любого из вышеупомянутых случаев решением будет ограничение доступа / создание ресурсов в каталоге приложения * только 1106 *.