Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 量角器-元素未附加到页面文档_Javascript_Css_Selenium_Protractor_Automated Tests - Fatal编程技术网

Javascript 量角器-元素未附加到页面文档

Javascript 量角器-元素未附加到页面文档,javascript,css,selenium,protractor,automated-tests,Javascript,Css,Selenium,Protractor,Automated Tests,所以伙计们,和很多人一样的问题!当我尝试在页面中交互(单击)某个元素时,出现以下错误: 错误消息 失败:过时元素引用:元素未附加到页面 “文件” 我理解了页面改变DOM的概念,但我真的无法解决这个问题。有什么建议吗? (元素出错:等待processoLista.click();) 哪一行导致了问题?您能发布完整的堆栈跟踪吗?@Sureshmani出错的元素是wait processoLista.click();我相信在aplicar.click()之后还会发生其他一些进程/事件,这会影响下一个元

所以伙计们,和很多人一样的问题!当我尝试在页面中交互(单击)某个元素时,出现以下错误:

错误消息

失败:过时元素引用:元素未附加到页面 “文件”

我理解了页面改变DOM的概念,但我真的无法解决这个问题。有什么建议吗? (元素出错:等待processoLista.click();


哪一行导致了问题?您能发布完整的堆栈跟踪吗?@Sureshmani出错的元素是wait processoLista.click();我相信在aplicar.click()之后还会发生其他一些进程/事件,这会影响下一个元素processoLista。您是否尝试添加静态等待?虽然不建议这样做,但通过这种等待更容易隔离问题。
    console.log('Testing Pesquisa Assunto ...');

    beforeAll(async function () {
        await browser.get(browser.params.URL_PROCESSO).then(function () {
            const EC = protractor.ExpectedConditions;
        })

    });
    it('Deve escolher um ASSUNTO PRINCIPAL e verificar os resultados', async function () {

        try {
            if (await browser.findElements(by.id('filtro_assuntos')).toEqual(""));
        } catch{
            const btnMaisFiltros = element(by.id('maisFiltros'))
            const placeAssunto = element(by.css('[placeholder = "Assunto"]'))
            const listAssuntos = element.all(by.className('mat-option-text')).get(2)
            const habilitaAssuntoP = element(by.className('mat-slide-toggle-bar'))
            const aplicar = element(by.className("aplicar"))
            const processoPainel = element(by.className('cdk-overlay-pane'))
            const classText = element(by.className('texto'))
            const assunto = element(by.partialLinkText('Abandono'))

            await btnMaisFiltros.click();
            await browser.wait(EC.presenceOf(placeAssunto));
            await browser.wait(EC.elementToBeClickable(placeAssunto));
            await placeAssunto.click();

            await browser.wait(EC.presenceOf(listAssuntos));
            await browser.wait(EC.elementToBeClickable(listAssuntos));
            await listAssuntos.click();

            await habilitaAssuntoP.click();

            await browser.wait(EC.presenceOf(aplicar));
            await browser.wait(EC.elementToBeClickable(aplicar));
            await aplicar.click();


            const processoLista = await element.all(by.className('identificacao')).get(0);
            await browser.wait(EC.titleContains('.'));
            await browser.wait(EC.presenceOf(processoLista));
            await browser.wait(EC.elementToBeClickable(processoLista));
            await processoLista.click();//HE CANNOT CLICK HERE! SOMETIMES HE CAN AND SOMETIMES I HAVE THE ERROR


            await browser.wait(EC.presenceOf(classText));
            await browser.wait(EC.presenceOf(assunto));
            expect(await assunto.getText()).toContain('Abandono')

        }
    })```