![](/img/trans.png)
[英]Press ENTER key in Selenium WebDriver with java when element property not present
[英]How to press “TAB” then “ENTER” key in Selenium WebDriver using Java?
我正在使用帶有Selenium WebDriver的java進行自動化測試。 我想點擊標簽。 我想檢查標簽功能。
我可以使用Tab鍵獲取如下按鈕:
WebElement webElement = driver.findElementByXPath("");
webElement.sendKeys(Keys.TAB);
webElement.sendKeys(Keys.ENTER);
我有一個包含多個字段的表單,我想跟蹤按鍵標簽鍵是我的控件成功移動到下一個字段。 另外,我想檢查下面的控件是我的表格
但是如何逐個單擊選項卡。 基本上我需要按Tab鍵,然后按Enter鍵單擊按鈕。
我學習硒。 請幫我。 提前致謝。
請參閱適用於我的示例表單的解決方案
FormTab.html:
<!DOCTYPE html>
<html>
<body>
<form>
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<p>If you click "Submit", nothing happens.</p>
</body>
</html>
Java代碼:
WebDriver driver = new FirefoxDriver();
//Insert path to your file
driver.get("FormTab.html");
//Three example elements
WebElement firstField = driver.findElement(By.name("firstname"));
WebElement secondField = driver.findElement(By.name("lastname"));
WebElement submit = driver.findElement(By.name("submit"));
//Start with the first field
firstField.sendKeys();
//Verify that we in the first field
if(driver.switchTo().activeElement().equals(firstField))
System.out.println("First element is in a focus");
else
//Add Assertion here - stop execution
System.out.println("ASSERTION - first element not in the focus");
firstField.sendKeys(Keys.TAB);
//Verify that we in the second field
if(driver.switchTo().activeElement().equals(secondField))
System.out.println("Second element is in a focus");
else
//Add Assertion here - stop execution
System.out.println("ASSERTION - second element not in the focus");
secondField.sendKeys(Keys.TAB);
if(driver.switchTo().activeElement().equals(submit))
System.out.println("Submit element is in a focus");
else
//Add Assertion here - stop execution
System.out.println("ASSERTION - submit element not in the focus");
//Click the button
submit.click();
//Need be closed also in case the assertion - use @After
driver.close();
試試下面的代碼。這很好用。
Actions builder = new Actions(driver);
builder.SendKeys(OpenQA.Selenium.Keys.Tab).Build().Perform();
builder.Release().Perform();
builder.SendKeys(OpenQA.Selenium.Keys.Tab).Build().Perform();
builder.Release().Perform();
Actions builder = new Actions(driver);
Action enter= builder
.keyDown(Keys.TAB)
.build();
enter.perform();
Action releaseEnter= builder
.keyUp(Keys.ENTER)
.build();
releaseEnter.perform();
當您在頁面上時,您可以嘗試使用java的機器人類來模擬按下選項卡並輸入任何其他按鈕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.