SeleniumでEnterまたはキーをすばやく入力する方法を探しています。Return
残念ながら、テストしようとしているフォーム (自分のコードではないため、変更できません) にはSubmitボタンがありません。手動で操作するときは、Enterorと入力するだけReturnです。type
クリックするボタンがないので、Seleniumコマンドでそれを行うにはどうすればよいですか?
SeleniumでEnterまたはキーをすばやく入力する方法を探しています。Return
残念ながら、テストしようとしているフォーム (自分のコードではないため、変更できません) にはSubmitボタンがありません。手動で操作するときは、Enterorと入力するだけReturnです。type
クリックするボタンがないので、Seleniumコマンドでそれを行うにはどうすればよいですか?
import org.openqa.selenium.Keys
WebElement.sendKeys(Keys.RETURN);
import
ステートメントは Java 用です。他の言語の場合は、異なる場合があります。たとえば、Python ではfrom selenium.webdriver.common.keys import Keys
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
driver.FindElement(By.Id("Value")).SendKeys(Keys.Return);
また、
driver.FindElement(By.Id("Value")).SendKeys(Keys.Enter);
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")
HTML テストを記述する場合、ENTER キーは として使用できます${KEY_ENTER}
。
で使用できますsendKeys
。例を次に示します。
sendKeys | id=search | ${KEY_ENTER}
selenium.keyPress("css=input.tagit-input.ui-autocomplete-input", "13");
これを行うだけです:
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);
search = browser.find_element_by_xpath("//*[@type='text']")
search.send_keys(u'\ue007')
#ENTER = u'\ue007'
Selenium のドキュメント「特殊キー」を参照してください。
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();
Cucumber テストにこれが必要であり、Enter/Return キーを押すことをシミュレートしたい場合は、値ではなく値を送信する必要があることがわかりまし:return
た(ここで説明されている値を参照してください) 。:enter
要素の検索に XPath 式を使用してみると、次のコードが機能します。
driver.findElement(By.xpath(".//*[@id='txtFilterContentUnit']")).sendKeys(Keys.ENTER);
Selenium を使用してキーを入力するには、まず次のライブラリをインポートする必要があります。
import org.openqa.selenium.Keys
次に、キーを入力する場所にこのコードを追加します
WebElement.sendKeys(Keys.RETURN);
必要に応じて、RETURN をリストの任意のキーに置き換えることができます。
「Selenium WebDriver (Java) でキーボードから Enter キーを押す方法」を探している場合は、以下のコードが役立ちます。
// Assign a keyboard object
Keyboard keyboard = ((HasInputDevices) driver).getKeyboard();
// Enter a key
keyboard.pressKey(Keys.ENTER);
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);
ルビーの場合:
driver.find_element(:id, "XYZ").send_keys:return
Action インターフェイスを使用して実現することもできます。WebDriverの場合 -
WebElement username = driver.findElement(By.name("q"));
username.sendKeys(searchKey);
Actions action = new Actions(driver);
action.sendKeys(Keys.RETURN);
action.perform();
JavaScript / Node.jsを使用しているすべての人にとって、これは私にとってはうまくいきました:
driver.findElement(By.xpath('xpath')).sendKeys('ENTER');