Мне нужно прокрутить элемент вниз, чтобы установить флажок. В основном пользовательское соглашение, которое я должен принять. Флажок не активируется до тех пор, пока я не прокручиваю до конца элемента. Вот как выглядит моя функция, которая проверяет флажок:
async privacyStatementEnableCheckbox(){
await browser.sleep(3000);
await this.privacyStatementTextContent.click();
let privacyStatementCheckbox = element(by.xpath(AcceptNewInvitationPage.SELECTORS.privacyStatementCheckbox));
await browser.actions().mouseMove(this.privacyStatementTextContent).perform();
await browser.sleep(3000);
await privacyStatementCheckbox.click();
}
}
Я использую browser.sleep (), чтобы увидеть, что происходит, и, видимо, div не прокручивается. Я получаю следующую ошибку:
WebDriverError: перехвачен щелчок элемента: элемент не активен в точке xy ... вместо этого будет выбран другой элемент
Я предполагаю, что это потому что есть элемент "hider", который установлен на флажок, пока пользователь не прокрутит до конца элемента div.
Я также пытался:
async privacyStatementEnableCheckbox(){
await browser.sleep(3000);
await this.privacyStatementTextContent.click();
let privacyStatementCheckbox = element(by.xpath(AcceptNewInvitationPage.SELECTORS.privacyStatementCheckbox));
await browser.executeScript('window.scrollTo(0,10000)').then(async function(){
//check if the checkbox is checked or not
if(await this.privacyStatementCheckboxValue.getAttribute("data-bv-result") !== "VALID"){
await browser.sleep(3000);
await privacyStatementCheckbox.click();
}
}
Я знаю, что здесь много тем о прокрутке div, но я не смог найти среди них решение, которое бы мне помогло. Ни один из вариантов не выполнил прокрутку для div для меня, и я не смог найти много информации о том, как работает moseMove (element). Если бы кто-нибудь мог указать, что я делаю неправильно, я был бы благодарен. Дополнительная информация: Я использую chrome, транспортир, огурец.