2012-10-11 43 views
0
回車鍵

我使用HtmlUnitDriver & FirefoxDriver.Here是我的代碼:怎麼按在HtmlUnitDriver

HtmlUnitDriver webDriver = new HtmlUnitDriver(false); 

我一直在使用下面的代碼輸入的用戶名密碼&:

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

它工作正常,它需要用戶名&密碼成功。現在我想按ENTER鍵後提交此。請指導我如何使用HtmlUnitDriver對象按ENTER鍵。

回答

0

您需要先使用findElement選擇一個元素(input,textfield ...)。這將返回一個WebElement

關於這個對象,你可以使用方法sendKeys(java.lang.CharSequence... keysToSend)

從API: http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html

sendKeys(java.lang.CharSequence... keysToSend) 
Use this method to simulate typing into an element, which may set its value. 

您可以使用http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/Keys.html#ENTER

0
WebDriver driver = new HtmlUnitDriver(false); 
WebElement pw = driver.findElement(By.id("XX")); 
pw.sendKeys(YY); 
pw.sendKeys(Keys.ENTER); 
+0

嗨urir,我用這個,但給我錯誤: - ** org.openqa.selenium.WebDriverException:無法找到用於提交表單**的元素。 – dhananjay

+0

由於HtmlUnit只能做用戶可以做的事情 - 請確保您的相關元素實際上可以通過在瀏覽器中按ENTER提交。 – urir

-1
driver.switchTo().activeElement().sendKeys(Keys.ENTER); 

,將發送到當前的有源元件。使用findElement函數來指定要與之交互的特定元素。

+0

downvote的任何理由? –

+0

像這樣,對element.sendKeys()沒有任何區別() – mjgirl

+0

對,假設你有一個元素的引用,並且不想在自上一次輸入後的任何焦點處點擊「ENTER」。由於這是最終用戶可能做的事情,所以模仿這一點是有道理的。 –