使用Java Robot类无法在网站的“身份验证”弹出窗口的用户名和密码字段中输入文本

问题描述

我正在尝试使用Selenium自动化网站,在该网站上,我单击文本为“基本身份验证”的链接。使用Java Robot类在“身份验证”弹出窗口的用户名密码字段中输入文本。

下面是硒代码

        driver.get("http://the-internet.herokuapp.com/");

        driver.findElement(By.linkText("Basic Auth")).click();

        Thread.sleep(10000);

        Robot r = new Robot();

//      Move the mouse to the username field
        r.mouseMove(420,377);
        r.mousepress(InputEvent.BUTTON1_DOWN_MASK);
        r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);

//      Enter "admin" inside the username field
        r.keyPress(KeyEvent.VK_A);
        r.keyrelease(KeyEvent.VK_A);
        r.keyPress(KeyEvent.VK_D);
        r.keyrelease(KeyEvent.VK_D);
        r.keyPress(KeyEvent.VK_M);
        r.keyrelease(KeyEvent.VK_M);
        r.keyPress(KeyEvent.VK_I);
        r.keyrelease(KeyEvent.VK_I);
        r.keyPress(KeyEvent.VK_N);
        r.keyrelease(KeyEvent.VK_N);

//      Move the mouse to the password field
        r.mouseMove(419,404);
        r.mousepress(InputEvent.BUTTON1_DOWN_MASK);
        r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);

//      Enter "admin" inside the password field
        r.keyPress(KeyEvent.VK_A);
        r.keyrelease(KeyEvent.VK_A);
        r.keyPress(KeyEvent.VK_D);
        r.keyrelease(KeyEvent.VK_D);
        r.keyPress(KeyEvent.VK_M);
        r.keyrelease(KeyEvent.VK_M);
        r.keyPress(KeyEvent.VK_I);
        r.keyrelease(KeyEvent.VK_I);
        r.keyPress(KeyEvent.VK_N);
        r.keyrelease(KeyEvent.VK_N);

//      Press Enter key to login
        r.keyPress(KeyEvent.VK_ENTER);
        r.keyrelease(KeyEvent.VK_ENTER);

        Thread.sleep(3500);
        softassert.assertEquals(driver.findElement(By.cssSelector("h3")).getText(),"Basic Auth","Basic Auth message is not correct");
        softassert.assertEquals(driver.findElement(By.cssSelector("p")).getText(),"Congratulations! You must have the proper credentials.","Credentials message is not correct");

输出

It is throwing below error:
<<< FAILURE!
org.openqa.selenium.WebDriverException: 
Failed to convert data to an object

它多次调用“需要身份验证”弹出窗口,而不仅仅是一次。另外,它既没有在用户名密码字段中输入任何文本,也没有单击“确定”按钮。

请帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)