我使用以下 docker 图像来运行我的黄瓜测试:
https://hub.docker.com/r/selenium/standalone-chrome/
不幸的是,从今天开始,似乎每当我运行测试时都会出现以下错误。它们出现在每次测试开始时。我在页面上做什么并不重要。
**13:38:26 [exec] org.openqa.selenium.ElementNotInteractableException:元素不可交互:元素大小为零
13:38:26 [exec](会话信息:chrome=83.0.4103.61)**
我做了一些挖掘,我注意到 chromedriver 版本从 81 更新到 83。我设法通过使用来自具有 chromedriver 81 的 docker hub 链接的旧 docker 映像解决了这个问题。但是如果我再次尝试使用 chromedriver 83,它将不行。
有人遇到过这种情况么?由于更新,我需要添加新的 chrome 选项吗?
在下面的代码中,我无法在密码字段中发送密码密钥,我尝试单击该字段,清除该字段并发送密钥。但是现在可以使用任何一种方法。但是如果我调试和测试它的工作
public class TestMail {
protected static WebDriver driver;
protected static String result;
@BeforeClass
public static void setup() {
System.setProperty("webdriver.gecko.driver","D:\\geckodriver.exe");
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}
@Test
void Testcase1() {
driver.get("http://mail.google.com");
WebElement loginfield = driver.findElement(By.name("Email"));
if(loginfield.isDisplayed()){
loginfield.sendKeys("ragesh@gmail.in");
}
else{
WebElement newloginfield = driver.findElemnt(By.cssSelector("#identifierId"));
newloginfield.sendKeys("ragesh@gmail.in");
// System.out.println("This is new login");
}
driver.findElement(By.name("signIn")).click();
// driver.findElement(By.cssSelector(".RveJvd")).click();
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
// WebElement pwd = driver.findElement(By.name("Passwd"));
WebElement pwd = driver.findElement(By.cssSelector("#Passwd"));
pwd.click();
pwd.clear();
// pwd.sendKeys("123");
if(pwd.isEnabled()){
pwd.sendKeys("123");
}
else{
System.out.println("Not Enabled");
}
Run Code Online (Sandbox Code Playgroud)