ПРОТРАКИР - Неуспешно: element.all не е функция

Имам проблем с използването на функцията element.all. Предполагам, че има проблеми с идентификатора. Знам, че идентификаторът трябва да се използва само веднъж, но тествам само софтуера и нямам възможност да променя този идентификатор на клас. Така че може би има решение да го получите с element.all и след това да обработите с функцията индекс.

let buttons = element.all(by.id('wanted id'));

Когато се извика този кодов фрагмент. Казва:

element.all is not a function.

Когато използвам само елемент, той работи, но не мога да използвам функцията индекс.

Благодаря за вашата помощ


person Inuff    schedule 07.02.2018    source източник
comment
Не сте затворили скоби в buttons.   -  person Kacper    schedule 07.02.2018
comment
о, съжалявам, в оригиналния фрагмент те са затворени. В противен случай транспортирът нямаше да започне.   -  person Inuff    schedule 07.02.2018
comment
хм тази част от кода изглежда правилна. Можете ли да поставите още код?   -  person Kacper    schedule 07.02.2018
comment
Моля, вижте отговора ми по-долу. Това проработи при мен.   -  person Inuff    schedule 07.02.2018


Отговори (1)


Бих могъл да реша проблема, като използвам всички, без елемент преди.

all(by.id('wanted id')).then( elem => {
      ...
});
person Inuff    schedule 07.02.2018
comment
Не разбирам как работи това при вас? all е метод на прототипа ElementArrayFinder. Освен това, колкото си струва, можеше да използваш by.css, т.е. element.all(by.css('#my-id')); - person Gunderson; 07.02.2018
comment
Аз също съм много объркан, единствената възможна причина е, че вашият код е преназначен като global.all = element.all, в официалния API на транспортир има само element.all не all - person yong; 08.02.2018
comment
И двамата сте прави. В документацията там можете да намерите само element.all, който не свърши работа. Защо работи, не мога да ви кажа. Но работи. @Gunderson Ще го пробвам и с css. - person Inuff; 08.02.2018