Selenium网络驱动程序中的sendKeys()不通过IE工作在Facebook上

时间:2018-01-13 08:27:58

标签: java facebook selenium selenium-webdriver selenium-iedriver

我是Selenium的新手。我只想通过internetexplorer使用以下代码将密钥发送到用户名文本框;

以下是代码:

public class IE_Brower {
    public static void main(String[] args) {    
        System.setProperty("webdriver.ie.driver", "Driver/IEDriverServer.exe");
        WebDriver driver = new InternetExplorerDriver();
        driver.get("https://www.facebook.com");
        driver.findElement(By.id("email")).sendKeys("Testing");
    }
}

但只有facebook页面开放,但文本字段中的值未通过。这个不起作用。 请帮帮我。

2 个答案:

答案 0 :(得分:0)

我的猜测是该页面需要时间加载,在加载之前,它会尝试查找“email”元素,但由于页面未完全加载,因此无法找到该页面。

解决方案是等到特定元素可见,然后像 - -

一样发送给它
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("email")));
driver.findElement(By.id("email")).sendKeys("Testing");

这将等到电子邮件元素可见&在向它发送一些输入之前加载。

答案 1 :(得分:0)

代码对我来说很好。 只需确保您拥有与本地安装的Internet Explorer浏览器相关的最新IEDriverServer.exe和正确的32/64位IEDriverServer.exe