У меня есть элемент ng-click
, который не имеет высоты по ширине, но по-прежнему доступен с помощью пользовательского интерфейса, так как он имеет абсолютно расположенный элемент :before
внутри него (значок). Если я попытаюсь щелкнуть элемент в транспортнике, он говорит, что элемент не виден, поскольку он не имеет высоты или ширины. Я не могу найти способ выбрать элементы psuedo в Protractor. Использование browser.actions
нелегко, поскольку элемент psuedo находится за пределами его родителя.Можно ли щелкнуть абсолютно позиционированный элемент psuedo в Protractor
1
A
ответ
0
Ваши замечания верны. Protractor/selenium/WebDriverJs click()
не работает, если элемент не отображается. Это означает, что если оба они ложные - height>0
width>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);