Ответ 1
Переключитесь на новую вкладку, прежде чем пытаться щелкнуть элемент. Позже подождите, пока элемент не будет присутствовать и находится в состоянии clickable, используя ExpectedConditions
экземпляр и elementToBeClickable()
функцию в транспортире. После того, как он находится в состоянии clickable, выполните действие click()
. Однако функция click()
в транспортимере должна автоматически прокручивать страницу без необходимости прокрутки. Вот как -
browser.getAllWindowHandles().then(function(handles){
browser.switchTo().window(handles[1]).then(function(){
var elem = element(by.partialLinkText("RESUME"));
browser.wait(protractor.ExpectedConditions.elementToBeClickable(elem), 10000)
.then(function(){
elem.click();
});
});
});
Если вышеприведенный код по-прежнему не нажимает, добавьте строку прокрутки, прежде чем нажимать на нее, разрешив обещание вернуть функции. Вот как -
var elem = element(by.partialLinkText("RESUME"));
browser.wait(protractor.ExpectedConditions.elementToBeClickable(elem), 10000)
.then(function(){
elem.getLocation().then(function(loc){
browser.executeScript('window.scrollTo('+loc.x+','+loc.y+');').then(function(){
elem.click();
});
});
});
Надеюсь, что это поможет.