Java 尝试时没有此类元素异常
为什么在代码正确的情况下,当我点击gmail时,链接会在新标签中打开,但不会作为密钥发送电子邮件,我会收到一个无此类元素异常错误Java 尝试时没有此类元素异常,java,selenium,Java,Selenium,为什么在代码正确的情况下,当我点击gmail时,链接会在新标签中打开,但不会作为密钥发送电子邮件,我会收到一个无此类元素异常错误 @Test public static void gDem() throws InterruptedException{ System.setProperty("webdriver.chrome.driver", "D:\\Edu Stuff\\Selenium\\Selenium Softs\\Other Softs\\Drivers\\chromedri
@Test
public static void gDem() throws InterruptedException{
System.setProperty("webdriver.chrome.driver", "D:\\Edu Stuff\\Selenium\\Selenium Softs\\Other Softs\\Drivers\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().deleteAllCookies();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
driver.get("http://www.google.ca");
driver.findElement(By.linkText("Gmail")).click();
driver.findElement(By.linkText("Sign in")).click();
Thread.sleep(3000);
driver.findElement(By.xpath("//input[@id='identifierId']")).sendKeys("abhi.abhib5");
Thread.sleep(2000);
driver.close();
}
如果需要打开一个新选项卡,则在执行该选项卡窗口的操作之前,需要切换到该选项卡窗口。请尝试下面的操作
// this is to keep your parent window
String parentWindow = driver.getWindowHandle();
driver.findElement(By.linkText("Sign in")).click();
Thread.sleep(3000);
// since new tab is opened get new winodw handles and switch
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
driver.findElement(By.xpath("//input[@id='identifierId']")).sendKeys("abhi.abhib5");
Thread.sleep(2000);
// if you have further actions in parent window you need to switch back to the parent window
driver.close();
//这是为了保持您的父窗口
字符串parentWindow=driver.getWindowHandle();
driver.findElement(By.linkText(“登录”))。单击();
睡眠(3000);
//由于新选项卡已打开,因此获取新的winodw句柄和开关
ArrayList tabs=新的ArrayList(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
findElement(By.xpath(//input[@id='identifierId'])).sendKeys(“abhi.abhib5”);
《睡眠》(2000年);
//如果在父窗口中有进一步的操作,则需要切换回父窗口
driver.close();
您是否检查了日志文件中的错误?