发送密钥在selenium java中不起作用

发送密钥在selenium java中不起作用,java,selenium-webdriver,Java,Selenium Webdriver,我曾尝试在框中单击、清除并在框中输入文本,但sendkeys不起任何作用。我对selenium是新手,所以详细的答案会有所帮助。 这就是我试图用作输入的内容: 提前谢谢 public void tokensubmit() { try { driver.findElement(By.className("text-input text-input-md")).click(); driver.findElement(By.classN

我曾尝试在框中单击、清除并在框中输入文本,但sendkeys不起任何作用。我对selenium是新手,所以详细的答案会有所帮助。 这就是我试图用作输入的内容:

提前谢谢

public void tokensubmit() {
        try {
            driver.findElement(By.className("text-input text-input-md")).click();
            driver.findElement(By.className("text-input text-input-md")).clear();
            driver.findElement(By.className("text-input text-input-md")).sendKeys("test");

如果这是您正在使用的代码,那么它将无法工作,因为在复合类中使用
By.className()
时出错。只能对单个类名使用
By.className()
,但使用了两个“text input”和“text input md”(用空格分隔)。你应该试试CSS选择器,例如

public void tokensubmit()
{
    WebElement e = driver.findElement(By.cssSelector(".text-input.text-input-md"));
    e.click();
    e.clear();
    e.sendKeys("test");
}

当您反复使用
driver.findElement()
时,每次都会刮取页面。通常,您可以抓取元素并存储它,然后使用该变量执行操作,正如我在上面所做的。

我尝试使用您提供的相同代码,但该值尚未提交到页面中,之前或现在都没有出现错误。这是我在尝试检查时得到的元素,我在这里使用类:在Chrome中打开页面,并使用
$$()
将上面的CSS选择器输入到开发人员控制台中。。。它返回多少个元素?第一个元素是您试图输入文本的元素吗?它是否在IFRAME中?零结果,如果我发送元素窗口中显示的代码thts,会有帮助吗?喜欢发电子邮件给你。你能发一个链接到这个页面吗?至少在你的问题中发布一些HTML。请提供HTML代码