【发布时间】:2020-09-28 07:58:53
【问题描述】:
我尝试过双击方法,Thread.sleep,隐式等待,显式等待(在元素之前和之后),使用 xpath,css 定位器,但我仍然得到 org.openqa.selenium.ElementNotInteractableException: element不可交互异常。 这是最新版本的代码;
//selecting student information tab
driver.findElement(By.cssSelector("div.mat-tab-labels>div:nth-child(2)")).click();
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
//enter lastname
// try {
// new
WebDriverWait(driver,10).until(ExpectedConditions.elementToBeClickable(By.cssSelector("ms-text-
field[placeholder='GENERAL.FIELD.LAST_NAME']"))).click();
// driver.findElement(By.cssSelector("ms-text-
field[placeholder='GENERAL.FIELD.LAST_NAME']")).sendKeys("Abuzer");
// } catch (Exception e){}
WebElement lname = driver.findElement(By.xpath("//ms-text-field[@formcontrolname='lastName']"));
lname.click();
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
lname.sendKeys("John");`
我还分享了对我不起作用的评论部分。
【问题讨论】:
-
您是否检查过
iframe的存在?在您使用“Xpath”的最后一次测试中,如果您针对input元素而不是ms-text-field会发生什么?类似:WebDriverWait(driver,10).until(ExpectedConditions.elementToBeClickable(By.xpath("//ms-text-field[@formcontrolname='lastName']/input"))).click(); -
成功了!感谢您的帮助。我想我同时使用 css 选择器和 xpath 定位器把它搞砸了。我只是将 xpath 用于 click() 和 sendkeys() 方法。
-
不错,玩的不错。我已将我的评论添加为可能面临相同问题的用户的答案。
标签: java selenium xpath css-selectors