[selenium] Python과 Selenium을 사용하여 Enter / Return 키를 입력합니까?

Selenium에서 키를 입력하고 Enter 또는 Return 키를 빠르게 사용할 수있는 방법을 찾고 있습니다. 불행히도 테스트하려는 양식 (내 코드가 아니므로 수정할 수 없음)에는 제출 버튼이 없습니다. 수동으로 작업 할 때 ENTER또는을 입력하십시오 RETURN. type클릭 버튼이 없으므로 Selenium 명령으로 수행하는 방법을 알아야합니다 .



답변

import org.openqa.selenium.Keys

WebElement.sendKeys(Keys.RETURN);

import문장은 Java 용이며 다른 언어의 경우 파이썬과 같이 다를 수 있습니다.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가 릴리스되었으므로 Enter 키를 전송하는 것이 더 쉽습니다 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")


답변

Keys.ENTER또는 중 하나를 사용할 수 있습니다 Keys.RETURN. 세부 사항은 다음과 같습니다.

사용법 :

  • 자바 :

    • 사용 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


열거 형 키

열거 키 는 텍스트가 아닌 누를 수있는 키를 나타냅니다. 이것들은 유니 코드 PUA ( Private Use Area ) 코드 포인트 0xE000-0xF8FF에 저장됩니다.

키 코드 :

keys codes그들에게 특별한 것은 다음과 같습니다.

  • 반품 =u'\ue006'
  • ENTER =u'\ue007'

모든 구현은 Enum Keys동일한 방식으로 처리됩니다.

따라서이는 없음 Functional 또는 Operational함께 중 하나를 작업하는 동안 차 sendKeys(Keys.ENTER);또는 WebElement.sendKeys(Keys.RETURN);통해 셀레늄 .


키 및 리턴 키 입력

대부분의 경우 컴퓨터 키보드에서 Enter(또는 ReturnMac OSX의 경우) 명령 줄, 창 형태 또는 대화 상자가 기본 기능을 작동시킵니다. 이것은 일반적으로 “입력”을 마치고 원하는 프로세스를 시작하는 것이며 일반적으로 OK 버튼을 누르는 것의 대안입니다.

Return종종도로서 칭한다 Enter그들은 대개 동일한 기능을 수행한다; 그러나 일부 특정 응용 프로그램 (주로 페이지 레이아웃) Return에서는 캐리지 리턴 키 와 같은 방식으로 작동합니다 . 대조적으로, Enter일반 PC 키보드에서는 이름이 일반 텍스트로 일반 레이블로 표시됩니다.


참고 문헌


답변

HTML 테스트를 작성할 때 ENTER 키는로 사용할 수 있습니다 ${KEY_ENTER}.

와 함께 사용할 수 있습니다 sendKeys. 예는 다음과 같습니다.

sendKeys | id=search | ${KEY_ENTER}


답변

파이썬에서

1 단계. from selenium.webdriver.common.keys import Keys

2 단계. driver.find_element_by_name("").send_keys(Keys.ENTER)

참고 : 작성해야합니다Keys.ENTER


답변

당신은 이것을 이렇게합니다 :

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);