Я использую protractor-cucumber-framework для тестирования e2e, и совсем недавно мой метод двойного щелчка перестал работать и с тех пор возвращает StaleElementReferenceError.
Поэтому мой код выглядит следующим образом:
generic.tableRows().each((element) => {
element.all(by.tagName('td')).each((tdElement) => {
tdElement.getText().then((rowCellText) => {
if (rowCellText === identifier) {
browser.actions().doubleClick(tdElement).perform();
}
});
});
});
Двойной щелчок возвращает
StaleElementReferenceError: ссылка на устаревший элемент: элемент не прикреплен к документу страницы
Но когда я это сделаю:
tdElement.click();
Элемент найден и нажат.Ошибки не возвращаются.
Вещи, которые я пытался:
browser.wait(EC.presenceOf(tdElement), 10000).then(() => {
browser.actions().doubleClick(tdElement).perform();
});
-
browser.actions().mouseDown(tdElement).mouseUp().perform();
browser.sleep(1000); // Tried even without a hard wait
browser.actions().click(tdElement).perform();
-
tdElement.click().then(() => {
browser.sleep(800); // Tried even without a hard wait
tdElement.click();
});
-И
browser.actions().click(tdElement).click(tdElement).perform();
Любая помощь или понимание этого вопроса будет принята с благодарностью.