2017-02-02 7 views
1

У меня есть элемент ng-click, который не имеет высоты по ширине, но по-прежнему доступен с помощью пользовательского интерфейса, так как он имеет абсолютно расположенный элемент :before внутри него (значок). Если я попытаюсь щелкнуть элемент в транспортнике, он говорит, что элемент не виден, поскольку он не имеет высоты или ширины. Я не могу найти способ выбрать элементы psuedo в Protractor. Использование browser.actions нелегко, поскольку элемент psuedo находится за пределами его родителя.Можно ли щелкнуть абсолютно позиционированный элемент psuedo в Protractor

ответ

0

Ваши замечания верны. Protractor/selenium/WebDriverJs click() не работает, если элемент не отображается. Это означает, что если оба они ложные - height>0width>0, то click() не работает. Альтернативой здесь, чтобы выполнить код JavaScript click()

Существует красивейшее пост на то же самое здесь - Clicking an element using javascript vs actions vs webdriver?

Вы можете сделать что-то вроде этого

var elm = element(by.css("#myid")); 
browser.executeScript("arguments[0].click();", elm);