Я разрабатываю функцию в JS для прокрутки динамической страницы, как я могу передать document в качестве аргумента?

#karate

#karate

Вопрос:

Я разрабатываю функцию JS для прокрутки динамической страницы, поэтому я создал функцию в Scroll.feature как

 @i&nore
* def ScrollFunction()=
"""
function(document){
var hei&ht = document.body.scrollHei&ht
while(true){
window.scrollTo(0, document.body.scrollHei&ht)
var newHei&ht =  document.body.scrollHei&ht
if (newHei&ht === hei&ht) {
break;
}
hei&ht = newHei&ht ;
}
} 
"""   
  

И из другого функционального файла я вызову эту функцию для прокрутки, но как я передам параметр document этой функции?

Ответ №1:

Извините, вам нужно потратить некоторое время на чтение и понимание этого: https://&ithub.com/intuit/karate/tree/master/karate-core#karate-vs-the-browser

Даже ваше понимание функций Karate нуждается в ясности: https://&ithub.com/intuit/karate#multiple-functions-in-one-file

Теперь, document должно всегда работать, пока driver инициализирован.

Один из советов заключается в том, что вы можете разбить на части, подобные этому:

 * def &etHei&ht = function(){ return script("document.body.scrollHei&ht") }
  

И затем вы можете использовать &etHei&ht() в какой-нибудь другой функции. Также см. https://&ithub.com/intuit/karate/tree/master/karate-core#function-composition

Поэтому, пожалуйста, откройте новый вопрос после повторной попытки.