小编sel*_*021的帖子

使用无头浏览时,元素在点处不可点击...错误

当我在无头模式下运行下面的代码段时,出现此错误“org.openqa.selenium.ElementClickInterceptedException:元素单击被拦截:元素在点 (209, 760) 处不可单击”。当它在显示浏览器的情况下运行时,我没有错误并且测试顺利通过。正如你在下面看到的,我尝试等待,js 执行器,动作移动到元素,但仍然没有好的结果。我使用 xpath 来定位/定义元素,而不是坐标。为什么会发生这种情况,我该如何解决?提前致谢。

@Test(priority = 1)
    public void verifyAddUserWithMarkedMandatoryFields() {

        // accessing add user webpage / functionality
        userListObject.getAddUserButton().click();

        // inserting data to complete form
        addOrEditUserPageObject.insertCredentials(userModel.getUsername(), userModel.getEmail(), "", userModel.getPassword());

        // clicking Submit when becoming enabled
        WebDriverWait myWaitVariable = new WebDriverWait(driver, 5);
              myWaitVariable.until(ExpectedConditions.elementToBeClickable(addOrEditUserPageObject.getSubmitButtonAddOrEdit()));

//            Actions actions = new Actions(driver);
//            actions.moveToElement(addOrEditUserPageObject.getSubmitButtonAddOrEdit()).click().perform();

            JavascriptExecutor jse = (JavascriptExecutor)driver;

//            jse.executeScript("scroll(209, 760)"); // if the element is on top.

            jse.executeScript("scroll(760, 209)"); // if the element is on bottom.

            addOrEditUserPageObject.getSubmitButtonAddOrEdit().click();
            
    }
Run Code Online (Sandbox Code Playgroud)

selenium-webdriver google-chrome-headless

2
推荐指数
1
解决办法
1833
查看次数