Как перемещаться, чтобы реагировать на подстраницу JS с Gecko и перехватывать событие DocumentCompleted - PullRequest
1 голос
/ 25 апреля 2019

Я пытаюсь получить доступ к нескольким веб-сайтам один за другим и (в зависимости от некоторых условий) иногда также копаюсь глубже в подстраницы сайта.

Похоже, что GeckoFX не поддерживает переход к относительным страницам, таким как <a href="/imprint">Imprint</a>, что я решил, прикрепив их к URL-адресу страницы, на которой я уже находился, например ("http://www.example.com/" + "/imprint").Replace("//", "/").

Теперь у меня возникла проблема со страницей (я полагаю реагировать на JS?), Которая предоставляет только фрагменты URL для навигации, например, <a href="#imprint">Imprint</a>. Когда я звоню Navigate прямо на полный URL, например, http://www.example.com/#imprint, хотя я еще не на сайте, он работает, как ожидалось, и открывает нужную страницу.

Но если я пытаюсь перейти на эту подстраницу, пока я уже на сайте, она либо вообще не перемещается, либо, по крайней мере, не вызывает событие DocumentCompleted. Я не могу сказать, браузер полностью работает в фоновом режиме.

Насколько я понимаю, «реакция» на самом деле не загружает новый сайт, а просто обновляет некоторый элемент этого сайта через JavaScript, поэтому имеет смысл не вызывать событие DocumentCompleted. Есть ли какой-нибудь способ поймать готовый документ с новым содержимым независимо от того, или мне нужно найти обходной путь, например, сначала отойти, а потом вернуться или что-то в этом роде?

РЕДАКТИРОВАТЬ : Проблема также существует на маркерах перехода, например, если я попытаюсь перейти от https://en.wikipedia.org/wiki/HTML к https://en.wikipedia.org/wiki/HTML#Data_types

Я установил ограничение по времени, чтобы мой браузер перешел на сайт, вызывая событие DocumentCompleted, просто чтобы я больше не застревал в этой проблеме. Однако вопрос, конечно, остается.

...