打字输入/硒返回键(Typing Enter/Return key in Selenium)

2019-09-01 10:28发布

我在寻找一种快速类型并输入或硒返回键。 不幸的是,我试图测试(不是我自己的代码,所以我不能修改)的形式没有一个提交按钮。 当它手动的工作,我只需键入回车键Return。 我需要知道如何做,与硒type的命令,因为没有按钮点击。

Answer 1:

import org.openqa.selenium.Keys

WebElement.sendKeys(Keys.RETURN);

import语句是Java的,其他语言也可能是不同的,例如蟒蛇: from selenium.webdriver.common.keys import Keys



Answer 2:

JAVA

driver.findElement(By.id("Value")).sendKeys(Keys.RETURN);

要么,

driver.findElement(By.id("Value")).sendKeys(Keys.ENTER);

蟒蛇

from selenium.webdriver.common.keys import Keys
driver.find_element_by_name("Value").send_keys(Keys.RETURN)

要么,

driver.find_element_by_name("Value").send_keys(Keys.ENTER)

要么,

element = driver.find_element_by_id("Value")
element.send_keys("keysToSend")
element.submit()

红宝石

element = @driver.find_element(:name, "value")
element.send_keys "keysToSend"
element.submit

要么,

element = @driver.find_element(:name, "value")
element.send_keys "keysToSend"
element.send_keys:return

要么,

@driver.action.send_keys(:enter).perform
@driver.action.send_keys(:return).perform

C#

driver.FindElement(By.Id("Value")).SendKeys(Keys.Return);

要么,

driver.FindElement(By.Id("Value")).SendKeys(Keys.Enter);


Answer 3:

现在,硒2已经发布,这是一个有点容易发送回车键,因为你可以用做send_keys的方法selenium.webdriver.remote.webelement.WebElement类(本例中的代码是Python,但相同方法在Java中存在):

>>> from selenium import webdriver
>>> wd = webdriver.Firefox()
>>> wd.get("http://localhost/example/page")
>>> textbox = wd.find_element_by_css_selector("input")
>>> textbox.send_keys("Hello World\n")


Answer 4:

您可以使用的Keys.ENTERKeys.RETURN 。 这里还有一些细节:

使用方法:

  • Java的

    • 使用Keys.ENTER

       import org.openqa.selenium.Keys; driver.findElement(By.id("element_id")).sendKeys(Keys.ENTER); 
    • 使用Keys.RETURN

       import org.openqa.selenium.Keys; driver.findElement(By.id("element_id")).sendKeys(Keys.RETURN); 
  • 蟒蛇:

    • 使用Keys.ENTER

       from selenium.webdriver.common.keys import Keys driver.find_element_by_id("element_id").send_keys(Keys.ENTER) 
    • 使用Keys.RETURN

       from selenium.webdriver.common.keys import Keys driver.find_element_by_id("element_id").send_keys(Keys.RETURN) 

Keys.ENTERKeys.RETURN两者都是从org.openqa.selenium.Keys ,其延伸java.lang.Enum<Keys>并实现java.lang.CharSequence


枚举密钥

枚举密钥是不是文本可按压按键的表示。 这些都存储在Unicode的PUA( 专用区 )代码点,0xE000-0xF8FF。

密钥代码:

特殊的keys codes是它们如下:

  • 收益率 = u'\ue006'
  • ENTER = u'\ue007'

所有的实现Enum Keys是相同的方式处理。

因此,这些是 FunctionalOperational差与任一工作时sendKeys(Keys.ENTER);WebElement.sendKeys(Keys.RETURN); 通过


回车键和返回键

在电脑键盘上, 回车 (或在Mac OSX上的返回 )在大多数情况下会导致命令行窗口的形式,或对话框来操作它的默认功能。 这通常是完成一个“入口”,并开始所需的工艺,并且通常是在按下OK按钮的替代品。

返回的是经常也被称为输入和他们通常执行相同的功能; 然而,在一些特定的应用程序(主要是页面布局) 返回工作特别喜欢从它起源回车键。 相比之下, 输入通常与它的名字在普通PC键盘纯文本标记。


参考

  • 回车键
  • 回车


Answer 5:

当写HTML测试,ENTER键可作为${KEY_ENTER}

你可以使用它sendKeys ,这里是一个例子:

sendKeys | id=search | ${KEY_ENTER}


Answer 6:

selenium.keyPress("css=input.tagit-input.ui-autocomplete-input", "13");


Answer 7:

你只是这样做:

final private WebElement input = driver.findElement(By.id("myId"));
input.clear();
input.sendKeys(value); // the value we want to set to input
input.sendKeys(Keys.RETURN);


Answer 8:

对于谁是使用WebDriverJS那些人Keys.RETURN将作为被引用

webdriver.Key.RETURN

一个更完整的例子作为参考可能也有帮助:

var pressEnterToSend = function () {
    var deferred = webdriver.promise.defer();
    webdriver.findElement(webdriver.By.id('id-of-input-element')).then(function (element) {
        element.sendKeys(webdriver.Key.RETURN);
        deferred.resolve();
    });

    return deferred.promise;
};


Answer 9:

driver.findElement(By.id("Value")).sendKeys(Keys.RETURN);driver.findElement(By.id("Value")).sendKeys(Keys.ENTER);



Answer 10:

search = browser.find_element_by_xpath("//*[@type='text']")
search.send_keys(u'\ue007')

ENTER = U '\ ue007'

参考硒文档“特殊键”



Answer 11:

我只是想指出,我需要为我的黄瓜测试,结果发现,如果你想模拟按下回车/返回键,你需要发送的:return值,而不是 :enter值(见描述的值这里 )



Answer 12:

硒RC与Java:

selenium.keyPress("elementID", "\13");

硒的webdriver(又名Selenium2)用java:

driver.findElement(By.id("elementID")).sendKeys(Keys.ENTER);

要么,

driver.findElement(By.id("elementID")).sendKeys(Keys.RETURN);

另一种方法是按使用动作类的webdriver输入:

Actions action = new Actions(driver); 
action.sendKeys(driver.findElement(By.id("elementID")), Keys.ENTER).build().perform();


Answer 13:

如果你正在寻找“如何按回车键从键盘中硒的webdriver(JAVA)键”,然后在下面的代码一定会帮助你。

//assign key board object
Keyboard keyboard=((HasInputDevices) driver).getKeyboard();
//enter a key
keyboard.pressKey(Keys.ENTER);


Answer 14:

有按键下列方式​​ - C#:

Driver.FindElement(By.Id("Value")).SendKeys(Keys.Return);

要么

OpenQA.Selenium.Interactions.Actions action = new OpenQA.Selenium.Interactions.Actions(Driver);
action.SendKeys(OpenQA.Selenium.Keys.Escape);

要么

IWebElement body = GlobalDriver.FindElement(By.TagName("body"));
body.SendKeys(Keys.Escape);


Answer 15:

要输入使用硒键首先,你需要导入库如下:

"import org.openqa.selenium.Keys"

然后添加以下代码要回车键

"WebElement.sendKeys(Keys.RETURN);"

您可以根据您的要求更换列表中的任何键RETURN



Answer 16:

可以使用Action接口以及,在webdriver的情况下可以实现 -

WebElement username = driver.findElement(By.name("q"));
username.sendKeys(searchKey);
Actions action = new Actions(driver);
action.sendKeys(Keys.RETURN);
action.perform();


Answer 17:

尝试使用XPATH搜索元素,然后将下面的代码工作:

driver.findElement(By.xpath(".//*[@id='txtFilterContentUnit']")).sendKeys(Keys.ENTER);


Answer 18:

红宝石: -

driver.find_element(:id,"XYZ").send_keys:return


Answer 19:

你可以试试 :

selenium.keyPress("id="","\\13");


Answer 20:

我只好发在文本中间确认键。 因此,我通过了以下文字发送键的功能,以实现1\n2\n3

1\N{U+E007}2\N{U+E007}3


Answer 21:

硒的webdriver使用XPath(如果该键是可见的):

driver.findElement(By.xpath("xpath of text field")).sendKeys(Keys.ENTER);

要么,

driver.findElement(By.xpath("xpath of text field")).sendKeys(Keys.RETURN);


Answer 22:

如果你在这个具体情况:

A)想只要按下按键,但没有一个具体的webElement点击

b)您使用硒2(的webdriver)

那么解决的办法是:

    Actions builder = new Actions(webDriverInstance);
    builder.sendKeys(Keys.RETURN).perform();


Answer 23:

JAVA / JavaScript的:

你也许可以做到这样也, 非本地

public void triggerButtonOnEnterKeyInTextField(String textFieldId, String clickableButId)
{
  ((JavascriptExecutor) driver).executeScript("
  elementId = arguments[0];
  buttonId = arguments[1];
  document.getElementById(elementId)
    .addEventListener("keyup", function(event) {
      event.preventDefault();
      if (event.keyCode == 13) {
          document.getElementById(buttonId).click();
      }
    });", textFieldId, clickableButId);
}


Answer 24:

object.sendKeys("your message",Keys.ENTER);

有用



Answer 25:

当你不希望搜索任何定位器,你可以使用机器人类:如:

            Robot robot = new Robot();
            robot.keyPress(KeyEvent.VK_ENTER);
            robot.keyRelease(KeyEvent.VK_ENTER);


Answer 26:

Actions action = new Actions(driver);
action.sendKeys(Keys.RETURN);


Answer 27:

在Python--步骤1.从selenium.webdriver.common导入密钥。步骤2 driver.find_element_by_name( “”)。send_keys(keys.Keys.ENTER)

注意 - 您必须编写keys.keys.ENTER



Answer 28:

你可以调用submit()中,您在输入文本的元素对象。

另外,您也可以专门发送回车键就如本蟒蛇片段:

from selenium.webdriver.common.keys import Keys
element.send_keys(Keys.ENTER) # element is the WebElement object corresponding to the input field on the page


Answer 29:

对于使用JavaScript /节点大家,这个工作对我来说:

driver.findElement(By.xpath('xpath')).sendKeys('ENTER');


文章来源: Typing Enter/Return key in Selenium