我正在使用硒webdriver 2.210 + JAVA进行测试。我有一个示例代码,用于选择gmail中的所有邮件。但代码会抛出一个“元素当前不可见,所以可能不会与”错误,当我尝试通过webdriver获取URL后放置5秒延迟时发生交互。是否可以使此代码延迟工作?我如何避免“元素目前不可见,因此可能不会与”Selenium Webdriver
driver.get("https://mail.google.com/mail/u/0/?shva=1#all");
delay(5); ////*......Working fine without this...........*////
driver.switchTo().frame(driver.findElement(By.id("canvas_frame")));
driver.findElement(By.xpath("//div[@class = 'T-Jo-auh']")).click();
在此先感谢
您需要尝试了解(并告诉我们)为什么会发生这种情况。在页面上的第一个(!)'// div [@class ='T-Jo-auh']'元素在一段时间后真的不可见吗?当您使用Firebug找到它时,您会看到什么?你可以尝试'List list = driver.findElements(“// div [@class ='T-Jo-auh']”);'然后在列表中查找第一个可见元素,用['isDisplayed )'](http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html#isDisplayed%28%29) –