【发布时间】:2015-12-22 18:57:51
【问题描述】:
我正在学习 Java Maven Selenium。我想在 Selenium 中使用 implicitlyWait 进行类似的操作。
- 打开网站(例如https://www.facebook.com)
- 点击登录邮箱
- 等待 20 秒
- 输入我的邮箱
这是我的简单代码:
package com.org.learningMaven;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.Test;
public class HelloWorldTest {
@Test
public void login() {
WebDriver driver = new FirefoxDriver();
driver.get("https://www.facebook.com/");
driver.findElement(By.id("email")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.findElement(By.id("email")).sendKeys("myemail@yahoo.com");
}
private void sendKeys(Keys enter) {
// TODO Auto-generated method stub
}
}
此代码不起作用。它只会打开 Facebook,点击电子邮件字段并输入我的电子邮件 ID,而不是等待 10 秒钟再输入我的电子邮件。
【问题讨论】:
-
阅读文档seleniumhq.org/docs/04_webdriver_advanced.jsp#implicit-waits并在我们需要使用它时做出结论:P
-
你能分享一下为什么你需要等待特定的时间吗?在这种特殊情况下,这对我来说没有意义。
-
你是对的,在这里使用等待没有意义,我只是做了一个简单的例子来轻松理解这个过程。 :)
-
很好,欢迎来到 SO,gooood 眼睛:P
-
& 我正试图在我的 Facebook 时间线上发帖。如果我在那里发布链接google.com,那么我将等待 10 秒以加载链接缩略图,然后再单击发布按钮。 &我想我的下一个问题将是如何单击发布按钮,使用 TAB 键到达发布按钮不是一个好方法,很难知道我应该按多少次 TAB 键来聚焦 POST 按钮:P 和.... ……眼睛……?谢谢
标签: java selenium selenium-webdriver