311

SeleniumでEnterまたはキーをすばやく入力する方法を探しています。Return

残念ながら、テストしようとしているフォーム (自分のコードではないため、変更できません) にはSubmitボタンがありません。手動で操作するときは、Enterorと入力するだけReturnです。typeクリックするボタンがないので、Seleniumコマンドでそれを行うにはどうすればよいですか?

4

30 に答える 30

335
import org.openqa.selenium.Keys

WebElement.sendKeys(Keys.RETURN);

importステートメントは Java 用です。他の言語の場合は、異なる場合があります。たとえば、Python ではfrom selenium.webdriver.common.keys import Keys

于 2011-08-18T10:19:43.410 に答える
225

ジャワ

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);
于 2014-02-28T09:37:06.747 に答える
28

Selenium 2 がリリースされたのでsend_keys、クラスのメソッドを使用して Enter キーを送信するのが少し簡単になりました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")
于 2011-04-11T17:17:33.357 に答える
12

HTML テストを記述する場合、ENTER キーは として使用できます${KEY_ENTER}

で使用できますsendKeys。例を次に示します。

sendKeys | id=search | ${KEY_ENTER}
于 2014-01-27T22:54:19.643 に答える
9
selenium.keyPress("css=input.tagit-input.ui-autocomplete-input", "13");
于 2009-10-27T18:26:36.153 に答える
9

これを行うだけです:

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);
于 2012-10-11T08:32:17.543 に答える
6
search = browser.find_element_by_xpath("//*[@type='text']")
search.send_keys(u'\ue007')

#ENTER = u'\ue007'

Selenium のドキュメント「特殊キー」を参照してください。

于 2016-01-18T07:52:23.817 に答える
5

Java を使用したSelenium リモート コントロールの場合:

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

Java を使用した Selenium WebDriver (別名 Selenium 2) の場合:

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

または、

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

EnterWebDriverを押し込む別の方法は、 Actionsクラスを使用することです。

Actions action = new Actions(driver);
action.sendKeys(driver.findElement(By.id("elementID")), Keys.ENTER).build().perform();
于 2015-04-07T09:48:30.113 に答える
5

Cucumber テストにこれが必要であり、Enter/Return キーを押すことをシミュレートしたい場合は、値ではなく値を送信する必要があることがわかりまし:returnた(ここで説明されている値を参照してください) 。:enter

于 2011-07-12T08:18:22.163 に答える
3

要素の検索に XPath 式を使用してみると、次のコードが機能します。

driver.findElement(By.xpath(".//*[@id='txtFilterContentUnit']")).sendKeys(Keys.ENTER);
于 2013-11-27T10:42:06.847 に答える
3

Selenium を使用してキーを入力するには、まず次のライブラリをインポートする必要があります。

import org.openqa.selenium.Keys

次に、キーを入力する場所にこのコードを追加します

WebElement.sendKeys(Keys.RETURN);

必要に応じて、RETURN をリストの任意のキーに置き換えることができます。

于 2016-08-22T11:49:22.170 に答える
3

「Selenium WebDriver (Java) でキーボードから Enter キーを押す方法」を探している場合は、以下のコードが役立ちます。

// Assign a keyboard object
Keyboard keyboard = ((HasInputDevices) driver).getKeyboard();

// Enter a key
keyboard.pressKey(Keys.ENTER);
于 2015-05-28T12:17:37.663 に答える
2

XPathを使用する Selenium WebDriverの場合 (キーが表示されている場合):

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

また、

driver.findElement(By.xpath("xpath of text field")).sendKeys(Keys.RETURN);
于 2015-04-07T10:26:43.687 に答える
2

ルビーの場合:

driver.find_element(:id, "XYZ").send_keys:return
于 2014-04-11T22:15:42.397 に答える
2

Action インターフェイスを使用して実現することもできます。WebDriverの場合 -

WebElement username = driver.findElement(By.name("q"));
username.sendKeys(searchKey);
Actions action = new Actions(driver);
action.sendKeys(Keys.RETURN);
action.perform();
于 2013-10-01T06:32:10.867 に答える
1

JavaScript / Node.jsを使用しているすべての人にとって、これは私にとってはうまくいきました:

driver.findElement(By.xpath('xpath')).sendKeys('ENTER');
于 2019-01-14T22:38:42.823 に答える