ошибка, которую вы опубликовали, говорит, что вы используете NbIsGrantedDirective
, а для этой директивы требуется NbAccessChecker
. Чтобы предоставить NbAccessChecker
, пожалуйста, установите npm i @nebular/security
и импортируйте SecurityModule
в ваше приложение. Подробную документацию вы можете найти здесь .
Если вам нужно обрабатывать страницы с помощью Javascript, попробуйте WATIR или Selenium - они управляют настоящим веб-браузером и, таким образом, могут обрабатывать любой Javascript. WATIR Classic требует либо IE, либо Firefox с установленным определенным расширением, и вы увидите, как страницы мигают на экране, как он работает.
Другим вариантом будет понимание того, что делает Javascript на странице-нарушителе, и обход его вручную, но это кажется обременительным.
для чего эти страницы? как они могут перенаправить на другие страницы. что я должен сделать, чтобы передать их?
Иногда работа выполняется на этих страницах. Иногда JavaScript используется для предотвращения автоматического доступа, как то, что вы пытаетесь сделать :). Многие веб-сайты имеют ненужные проверки, чтобы убедиться, что у вас есть «хороший» браузер, поэтому убедитесь, что ваш user_agent
настроен на что-то общее, например, IE. Иногда настройка user_agent
на внешний вид старого браузера позволит вам обойтись без JavaScript.
Автоматизация сайта - это весело, потому что вам приходится перехитрить сайт и его разработчиков программного обеспечения, используя несколько стратегий. Как говорили другие, Watir - лучший инструмент для преодоления JavaScript на данный момент.
At present, Mechanize doesn't handle JavaScript. There's talk of eventually merging Johnson's capabilities into Mechanize, but until that happens, you have two options: