java - sendkeys() 在 selenium webdriver 中不起作用

标签 java selenium

直到昨天,下面提到的代码工作正常,但现在我面临一些问题。 该代码打开 Firefox 浏览器,然后加载 facebook.com 但代码未发送 网络浏览器的电子邮件和密码,即 sendkeys() 不起作用。 我验证了电子邮件文本框和密码的 ID,它们都是正确的,但代码无法正常工作。

import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.WebDriver;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
public class Webdriver2 {

    WebDriver driver ;
    JavascriptExecutor jse;
    public void invokeBrowser()
    {
        try
        {
        System.setProperty("webdriver.gecko.driver","C:\\geckodriver-v0.19.0-win64\\geckodriver.exe");
        driver = new FirefoxDriver();
        driver.manage().deleteAllCookies();
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS );


        driver.get("https://www.facebook.com/");
        search();
        }
        catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }

    }
    public void search()
    {
        try
        {
        driver.findElement(By.id("email")).sendKeys("example@gmail.com"); 
        Thread.sleep(4000);
        driver.findElement(By.id("pass")).sendKeys("password"); 
        Thread.sleep(4000);
        driver.findElement(By.id("u_0_2")).click();
        Thread.sleep(4000);
        /*driver.findElement(By.name("q")).sendKeys("spit mumbai");
        Thread.sleep(4000);
        driver.findElement(By.xpath(" //button[@aria-label='Search' and @data-testid='facebar_search_button'] ")).click();*/

        }
        catch(InterruptedException e)
        {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Webdriver2 w = new Webdriver2();
        w.invokeBrowser();
    }
}

最佳答案

在执行 sendKeys 之前尝试单击两个文本框:

driver.findElement(By.id("email")).click();
driver.findElement(By.id("email")).sendKeys("example@gmail.com");

文本框可能需要焦点。

关于java - sendkeys() 在 selenium webdriver 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46327124/

相关文章:

java - 关于 Android 应用程序中的当前月份和年份

java - 我怎样才能在java中获得视频长度

java尝试终于解锁习语

java - 如何制作没有 #! 的 SPA Ajax 应用程序可爬行?

selenium - 无法使用 browsermob 代理通过 selenium 访问不安全的 https

java - 常见复选框标签的 xpath 表达式不是有效的错误

java - 启动调试时出现空指针异常(无法实例化 Activity )。 IF 条件不好?

python - 如何在 python 中使用 Selenium 关闭浏览器弹出窗口?

java - 运行 Selenium 测试在 Jenkins 上不起作用

javascript - Selenium /VBA : clicking xpath using Javascript