Ожидание до загрузки документа - сложная проблема, но вы хотите постоянно проверять ReadyState и Busy (не забывайте об этом). Кроме того, вы можете получить href элемента A, не проблема, но скажите мне, что происходит, когда вы нажимаете на A, который не вызывает DocComplete или ReadyState, можете ли вы дать нам externalHTML этого? почему не так? Это должна быть ссылка, которая выполняет только функцию JavaScript? Если он следует по ссылке, единственный способ не вернуть событие DocComplete - это вернуть событие NavigateError. Дайте нам знать.
Кроме того, если на странице, которую вы ожидаете, есть фреймы, вам нужно получить ссылку на них и проверить их .busy и .readystate, а если фреймы вложенные, то вложенные фреймы .readystate и .busy как ну, так что вам нужно написать функцию, которая рекурсивно получает эти ссылки.
Теперь, как правило, количество фреймов, первое запущенное событие navigatecomplete всегда является верхним документом, а последнее запущенное событие doccomplete - всегда и для верхнего (родительского) документа.
Таким образом, вы должны проверить, является ли первый вызов и pDisp Is WebBrowser1.object
(буквально это то, что вы набираете в yoru if Statement), тогда вы знаете, что это navcomplete для документа верхнего уровня, затем вы ждете того же объекта в Документ завершен, поэтому сохраните pDisp в глобальной переменной и дождитесь, пока документ не будет завершен и pDisp документа Doc Complete будет равен глобальному pDisp, который вы сохранили во время первого события NavComplete (например, pDisp, который вы сохранили глобально). в первом событии NavComplete, которое сработало). Поэтому, как только вы узнаете, что pDisp был возвращен в завершенном документе, вы знаете, что весь документ завершен.
Это улучшит ваш метод currect, однако, чтобы сделать его более надежным, вы должны также выполнить проверку кадров, поскольку, даже если вы выполнили все вышеперечисленное, это более чем на 90% хорошо, но не на 100% надежно. , нужно сделать больше для этого.
Дайте мне знать ваши мысли и разъяснения по моему вопросу.