2017-02-19 11 views
0

Я пытаюсь выполнить запуск некоторых фрагментов JS в инструментах chrome dev, но не знаю, что мне делать здесь. Может ли кто-нибудь помочь здесь? Благодарю.Что делать, если я хочу нажать кнопку на новой странице во время выполнения фрагмента на инструментах chrome dev.

Возьмите, например, сайт StackOverflow. Скрипт нажимает вкладку навигатора «Задания» на новую страницу, затем нажимает на кнопку «Создать предупреждение». enter image description here см. Изображение для получения дополнительной информации.

f1 работает отдельно, а также f2, но они не работают, если я их складываю. Что делать, если я надеюсь, что они будут работать вместе?

function f1(){ 
 
    //click the nav-jobs 
 
    document.getElementById("nav-jobs").click(); 
 
} 
 

 
function f2(){ 
 
    // create the button "Create alert" on the job page 
 
    document.getElementById("reg-alert-model").click(); 
 
} 
 

 
f1(); 
 
setTimeout(f2, 5000);

ответ

0

Вызов функции f2() не будет происходить, потому что переход страницы уже произошло после выполнения f1().

Вызов функций JavaScript не сохраняется в стеке вызовов между переходами страниц.

+0

Спасибо за ответ, так что мне делать, если я сделаю это. – FX1024

+0

Используйте платформу тестирования, такую ​​как Selenium (среди прочих), или бегун сценария пользователя, такой как GreaseMonkey/Tampermonkey, чтобы ваши функции не были связаны с контекстом страницы. –

+0

Спасибо, разрешите это с помощью Tampermonkey. – FX1024

0

Когда страница перезагружается или загружается новая страница, весь контекст предыдущей страницы очищается/перезагружается. Таким образом, вы не можете сохранить таймер, работающий над изменением документа. Естественно, при их запуске отдельно (нет, не отдельно), никаких изменений контекста нет, поэтому он работает так, как вы ожидаете. Но если вы измените контекст между ними, все будет потеряно, включая таймер. Использование инструментов разработчика не делает никакой магии в поддержании контекста, на самом деле не имеет значения, запускаете ли вы его в консоли или в «код страницы».

+0

Спасибо за ответ, так что мне делать, если я сделаю это. – FX1024

 Смежные вопросы

  • Нет связанных вопросов^_^