Java 如何在HtmlUnitDriver中按enter键
我正在使用HtmlUnitDriver和FirefoxDriver。以下是我的代码: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 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);