收到错误"元素不可见"在代码下面运行。
当我通过谷歌检查并进行一些调查时,发现密码随附了"密码隐藏"属性。我怎么摆脱这个。
driver.get("http://www.gmail.com");
driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
try{
driver.findElement(By.xpath("//input[@id='Email']")).sendKeys("ashwinxxxxx@gmail.com");
driver.findElement(By.xpath("//input[@id='next']")).click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.findElement(By.xpath("//div[2]/div/div/input[2]")).sendKeys("abcd2123");
driver.findElement(By.xpath("//input[@id='signIn']")).click();
}
catch (Throwable e)
{
System.out.println(e.getMessage()); }
}
答案 0 :(得分:2)
尝试使用id查找元素,如下所示:
WebElement element1 = driver.findElement(By.id("Passwd"));
element1.sendKeys("Password");
如果失败,请发布收到的异常或错误。
WebDriverWait wait = new WebDriverWait(driver, 15);
WebElement element1 = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("Passwd")));
element1.sendKeys("Password");
答案 1 :(得分:0)
明确的等待工作。
WebDriverWait wait = new WebDriverWait(driver,30);
WebElement element1 = wait.until(
ExpectedConditions.elementToBeClickable(By.id("Passwd")));
element1.sendKeys("xxxxxx");
要导入的类是:
import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait;
答案 2 :(得分:0)
我使用了WebDriver等,并将“定位器”改为“id'到' xpath'
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement MyPass = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//*[@id='password']/div[1]/div/div[1]/input")));
MyPass.sendKeys("Password");