当前位置: 首页 > 知识库问答 >
问题:

元素被遮挡(服务器没有提供堆栈信息)硒边缘浏览器中的自动化

钱飞翼
2023-03-14

组织。openqa。硒。WebDriverException:元素被遮挡(警告:服务器未提供任何堆栈跟踪信息)。这段代码适用于chrome和firefox,但不适用于edge浏览器。

     `public class Login {
            public WebDriver driver;
            By userName = By.id("ctl14_UserName");
            By password = By.id("ctl14_Password");
            By login = By.id("ctl14_LoginButton");

            public Login(WebDriver driver) {
                this.driver = driver;
            }
            // Set password in username textbox
            public void setUserName(String strUserName) {   
                driver.findElement(userName).sendKeys(strUserName); 
            }
            // Set password in password textbox
            public void setPassword(String strPassword) {
                driver.findElement(password).sendKeys(strPassword);
            }
          public void clickMyaccount(){
               driver.findElement(myAccount).click();
            }
        // Click on login button
            public void clickLogin() {
                driver.findElement(login).click();

            }
        }
        //Test class
        public class AdminLogin extends BaseForDifferentLogins {
                 Login objLoginAdmin;
                 @Test(priority=0)
                    public void login() throws InterruptedException{
                      objLoginAdmin=new Login(driver); 
                      objLoginAdmin.clickMyaccount();
                        Thread.sleep(3000);
                        objLoginAdmin.setUserName("superuser1");
                        objLoginAdmin.setPassword("superuser1");
                        Thread.sleep(3000);
                        objLoginAdmin.clickLogin();
                        Thread.sleep(3000);
                    }
        }`

共有3个答案

尉迟卓
2023-03-14

我在Edge浏览器上遇到了相同的问题。很难找出到底是什么错了,因为在我的案例中,这个问题似乎不时出现/消失。所以在某个时候,我决定联系MS,并提出了这个问题

Steven K在这里提到,模糊元素错误很可能是由于缩放级别不是100%,所以我检查了一下,由于某种原因,它确实是125%。在我将其设置为100%后,问题就为我解决了。

browser.send_keys [:control, '0']

我知道这是一个ruby watir示例,但我确信有一个类似的Java技巧。

易研
2023-03-14

我遇到了这个问题,并尝试了几种方法来解决它:

  • 启用EdgePageLoadStrategy。正常-没有帮助
  • 禁用“保存密码?”气泡-没有帮助
  • 将缩放级别标准化为100%-宾果/尤里卡。这解决了问题

我的测试脚本更注重性能,所以我不想添加额外的对象/功能/选项。如果您希望您的测试更具可部署性,请将注册表编辑功能添加到您的selenium脚本中。这可以是一个开始:http://www.winhelponline.com/blog/microsoft-edge-disable-zoom-reset-zoom-level-every-start/

葛胜泫
2023-03-14

代替使用webElement.click(),您可以尝试使用单击并执行来构建操作。在Edge上也有同样的问题,这对我来说很有用:

Actions Actions=new Actions(webDriver);行动。单击(webElement)。执行()

 类似资料:
  • 环境 运行chromium edge web驱动程序 问题 我在为边缘浏览器设置二进制路径时面临Chromium问题下面是java代码示例,用于设置相同的二进制路径 有什么方法可以用PHPUnit-Selenium设置相同的内容吗

  • 我正在使用硒进行测试。我想点击一个元素。元素非常可点击和可见,但元素的中间点被遮挡,导致错误。 这是一个主视频: 超文本标记语言代码(链接到演示): Python selenium代码: 结果: 这似乎是硒的一个相当可悲的限制。按钮是可点击的,但不是在所有点。我不想摆弄滚动和坐标。 一般来说,关于异常有许多类似的问题,例如: 无法单击元素:元素单击碎片/硒中的异常 硒不能点击元素,因为其他元素掩盖

  • 我正在尝试设置浏览器堆栈和本地测试。我使用浏览器堆栈本地客户端打开了一个隧道,如下所示: 所以它通过我的本地网络转发所有的传输。在我的本地 /etc/hosts文件中,我有如下条目:127.0.0.1dev.mysite.com 然后,当我执行简单的selenium测试时,browserstack virtualmachine能够访问我的域名,一切正常。但在一些我有外部脚本/css/图像等的部分,

  • 我想用量角器和BrowserStack运行测试。我跟踪了这个帖子,我背后的一个代理。我已安装browserstack local,并使用以下命令运行它: 一切似乎都起作用了,因为我有这样的信息: 谢谢

  • 不要求代码 我只想说清楚,我不希望任何人给我解决这个问题的代码,我想自己写,这样我实际上学到了一些东西。 不要求代码 好的,所以我需要创建一个类,它将采用一个txt文件,该文件具有一个由('W' = WALL,'S' = START,'O' = 可遍历空间,'F' = FINISH)组成的迷宫,并返回一个布尔真/假,说明迷宫是否可以使用堆栈和/或队列解决。 我现在处于早期阶段,所以我在想... 我