Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在HtmlUnitDriver中按enter键_Java_Htmlunit - Fatal编程技术网

Java 如何在HtmlUnitDriver中按enter键

Java 如何在HtmlUnitDriver中按enter键,java,htmlunit,Java,Htmlunit,我正在使用HtmlUnitDriver和FirefoxDriver。以下是我的代码: HtmlUnitDriver webDriver = new HtmlUnitDriver(false); 我已使用以下代码输入用户名和密码: WebElement webElement = webDriver.findElement(By.xpath("some xpath here")); webElement.sendKeys("some value here"); 它工作正常,成功获取用户名和密

我正在使用HtmlUnitDriver和FirefoxDriver。以下是我的代码:

 HtmlUnitDriver webDriver = new HtmlUnitDriver(false);
我已使用以下代码输入用户名和密码:

WebElement webElement = webDriver.findElement(By.xpath("some xpath here"));
 webElement.sendKeys("some value here");

它工作正常,成功获取用户名和密码。现在我想在按ENTER键后提交此信息。因此,请指导我如何使用HtmlUnitDriver对象按ENTER键。

您需要首先使用
findElement
选择元素(输入,文本字段…)。这将返回一个
WebElement

在这个对象上,您可以使用方法
sendKeys(java.lang.CharSequence…keystend)

从API:

你可以用


将发送到当前活动元素的。使用
findElement
函数指定要与之交互的特定元素。

Hi urir,我使用了此选项,但出现了错误:-org.openqa.selenium.WebDriverException:无法找到用于提交表单的元素。由于HtmlUnit只能做用户能做的事情-请确保您的相关元素实际上可以通过浏览器中的ENTER键提交。这样,与element.sendKeys()没有区别。对,这是假设您有一个对元素的引用,并且不想在上次输入后焦点所在的位置点击
ENTER
。由于这是最终用户可能要做的事情,因此模拟这一点是有意义的。添加此引用的获取方式以及定义当前活动元素的内容可能会很有用。我一直在使用htmlunitdriver在某些文本字段中艰难地按enter键。
sendKeys(java.lang.CharSequence... keysToSend)
Use this method to simulate typing into an element, which may set its value.
WebDriver driver = new HtmlUnitDriver(false);
WebElement pw = driver.findElement(By.id("XX"));
pw.sendKeys(YY);
pw.sendKeys(Keys.ENTER);
driver.switchTo().activeElement().sendKeys(Keys.ENTER);