Код: Выделить всё
NS_ERROR_UNKNOWNЯ использую Ubuntu 22.04.4 LTS с WSL и Python 3.10 .12. Портал корректно работает только в Firefox и обслуживается только через HTTPS. Компания MITM контролирует все SSL-соединения (включая подключения к внутренней сети), но у меня в WSL установлен корневой центр сертификации компании.
Вот пример кода:
Код: Выделить всё
from playwright.sync_api import sync_playwright
with sync_playwright() as pwobj:
browser = pwobj.firefox.launch(
headless = False,
firefox_user_prefs = {
"security.enterprise_roots.enabled": "true"
}
)
# page with untrusted certificate for testing purposes
page = browser.new_page().goto("https://untrusted-root.badssl.com/")
Код: Выделить всё
Traceback (most recent call last):
File "/home/lmnice/sw/projects/mapebot/Rascunhos/playwright_error.py", line 4, in
browser = pwobj.firefox.launch(
File "/home/lmnice/.venvs/mapebot/lib/python3.10/site-packages/playwright/sync_api/_generated.py", line 13991, in launch
self._sync(
File "/home/lmnice/.venvs/mapebot/lib/python3.10/site-packages/playwright/_impl/_sync_base.py", line 115, in _sync
return task.result()
File "/home/lmnice/.venvs/mapebot/lib/python3.10/site-packages/playwright/_impl/_browser_type.py", line 94, in launch
Browser, from_channel(await self._channel.send("launch", params))
File "/home/lmnice/.venvs/mapebot/lib/python3.10/site-packages/playwright/_impl/_connection.py", line 59, in send
return await self._connection.wrap_api_call(
File "/home/lmnice/.venvs/mapebot/lib/python3.10/site-packages/playwright/_impl/_connection.py", line 514, in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
playwright._impl._errors.Error: BrowserType.launch: Protocol error (Browser.enable): Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.setStringPref]
Call log:
/home/lmnice/.cache/ms-playwright/firefox-1449/firefox/firefox -no-remote -wait-for-browser -foreground -profile /tmp/playwright_firefoxdev_profile-XXXXXXFpc6uf -juggler-pipe -silent
- pid=24470
- [pid=24470][err] JavaScript warning: resource://services-settings/Utils.sys.mjs, line 114: unreachable code after return statement
- [pid=24470][out] console.warn: services.settings: Ignoring preference override of remote settings server
- [pid=24470][out] console.warn: services.settings: Allow by setting MOZ_REMOTE_SETTINGS_DEVTOOLS=1 in the environment
- [pid=24470][out] console.error: ({})
- [pid=24470][out]
- [pid=24470][out] Juggler listening to the pipe
- [pid=24470][out] console.error: "Warning: unrecognized command line flag" "-wait-for-browser"
- [pid=24470][out]
- [pid=24470][out] ERROR: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.setStringPref] Browser.enable@chrome://juggler/content/protocol/BrowserHandler.js:40:24
- [pid=24470][out]
Код: Выделить всё
Traceback (most recent call last):
File "/home/lmnice/sw/projects/mapebot/Rascunhos/playwright_error.py", line 15, in
page = browser.new_page().goto("https://untrusted-root.badssl.com/")
File "/home/lmnice/.venvs/error_playwright/lib/python3.10/site-packages/playwright/sync_api/_generated.py", line 8686, in goto
self._sync(
File "/home/lmnice/.venvs/error_playwright/lib/python3.10/site-packages/playwright/_impl/_sync_base.py", line 115, in _sync
return task.result()
File "/home/lmnice/.venvs/error_playwright/lib/python3.10/site-packages/playwright/_impl/_page.py", line 519, in goto
return await self._main_frame.goto(**locals_to_params(locals()))
File "/home/lmnice/.venvs/error_playwright/lib/python3.10/site-packages/playwright/_impl/_frame.py", line 145, in goto
await self._channel.send("goto", locals_to_params(locals()))
File "/home/lmnice/.venvs/error_playwright/lib/python3.10/site-packages/playwright/_impl/_connection.py", line 59, in send
return await self._connection.wrap_api_call(
File "/home/lmnice/.venvs/error_playwright/lib/python3.10/site-packages/playwright/_impl/_connection.py", line 514, in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
playwright._impl._errors.Error: Page.goto: SEC_ERROR_UNKNOWN_ISSUER
Call log:
navigating to "https://untrusted-root.badssl.com/", waiting until "load"
Код: Выделить всё
SEC_ERROR_UNKOWN_ISSUERКод: Выделить всё
from playwright.sync_api import sync_playwright
with sync_playwright() as pwobj:
browser = pwobj.firefox.launch(
headless = False,
firefox_user_prefs = {
# random option just to check if other options also cause this error
"browser.backspace_action": 0
}
)
# page with broken certificate for testing purposes
page = browser.new_page().goto("https://untrusted-root.badssl.com/")
Я был бы очень признателен, если бы кто-нибудь помог мне заставить версию Firefox для драматурга работать с пользовательскими центрами сертификации.
Подробнее здесь: https://stackoverflow.com/questions/786 ... refox-user