我尝试过双击方法,Thread.sleep,隐式等待,显式等待(元素之前和之后),使用xpath,css定位器,但我仍然得到org.openqa.selenium.ElementNotInteractableException:元素不可交互异常。 这是最新版本的代码;
//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”的测试中,如果您以输入元素而不是 ms-text-field 为目标,会发生什么?像这样的东西:
WebDriverWait(driver,10).until(ExpectedConditions.elementToBeClickable(By.xpath("//ms-text-field[@formcontrolname='lastName']/input"))).click();
关于java - 如何克服 "element not interactable exception",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62277554/