您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

selenium网络自动化中元素不可交互异常

selenium网络自动化中元素不可交互异常

尝试将隐式等待时间设置为大约10秒。

gmail.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

或设置一个明确的等待。显式等待是您定义的代码,用于等待特定条件发生后再继续执行代码。您的情况就是密码输入字段的可见性。(感谢ainlolcat的评论

WebDriver gmail= new ChromeDriver();
gmail.get("https://www.gmail.co.in"); 
gmail.findElement(By.id("Email")).sendKeys("abcd");
gmail.findElement(By.id("next")).click();
webdriverwait wait = new webdriverwait(gmail, 10);
WebElement element = wait.until(
ExpectedConditions.visibilityOfElementLocated(By.id("Passwd")));
gmail.findElement(By.id("Passwd")).sendKeys("xyz");

:硒无法找到该元素的原因是因为密码输入字段的ID最初是隐藏的密码。单击“下一步”按钮后,Google首先验证输入的电子邮件地址,然后显示密码输入字段(将ID从“隐藏密码”更改为“密码”)。因此,当密码字段仍处于隐藏状态(即Google仍在验证电子邮件ID)时,您的网络驱动程序将开始搜索ID为Passwd且仍处于隐藏状态的密码输入字段。因此,将引发异常。

其他 2022/1/1 18:22:24 有339人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶