Перейдите на новую страницу, дождитесь ее загрузки, затем перейдите на третью страницу - PullRequest
0 голосов
/ 21 февраля 2020

Я пишу JavaScript, чтобы смоделировать себя, щелкая ссылки на веб-странице. Мне нужно проверить, полностью ли загружена страница после нажатия на ссылку, прежде чем нажимать на другую ссылку.

Короче говоря, мне нужно сделать что-то вроде этого:

if(page is fully loaded) {
//someInputBoxs.value='something'
//submitButton.click() //will redirect to another page}

if(page2 is fully loaded) {
//link2.click(); }

if(page3 is fully loaded) {
//link3.click(); }

Причина проверять, загружена ли страница каждый раз полностью, чтобы избежать нажатия на неопределенные элементы DOM.

Чтобы проверить состояние загрузки страницы, большинство онлайн-ресурсов предлагают использовать window.onload, но тогда он может проверять только состояние загрузки для один раз.

1 Ответ

2 голосов
/ 21 февраля 2020

На странице A не может быть сценария, который будет запускаться при загрузке страницы B. Ваша страница Среда, включая весь ваш скрипт, останавливается и выбрасывается при загрузке страницы B.

Вместо этого вам потребуется код на странице A, который загружает страницу B, код на странице B, который загружает page C, et c.

(Вы можете (или не можете) сделать что-то подобное в расширении браузера, но не в веб-странице / приложении. Вы, безусловно, можете сделать что-то например, с Phantom JS, Puppeteer или другими системами, которые запускают страницы в автономном браузере или в имитированной среде браузера.)

...