我试过双击方法,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();