Daxil olma / Seleniyə qayıt

Selenyumda bir düyməyə daxil olmaq və ya daxil olmaq üçün sürətli bir yol axtarıram. Təəssüf ki, mən doğrulmağa çalışdığım forma (öz kodum deyil, mən onu dəyişə bilməyəcəyəm) üçün təqdimat düyməsinə sahib deyil. Əl ilə işləyərkən, ENTER və ya RETURN yazın. Düyməsinə basılmadığından Selenium type komanda ilə bunu necə etmək lazım olduğunu öyrənmək lazımdır.

196
27 окт. 27 oktyabrda kroixhaug istədi . 2009-10-27 09:32 '09 saat 09:32 'da 2009-10-27 09:32
@ 26 cavab
 import org.openqa.selenium.Keys WebElement.sendKeys(Keys.RETURN); 

import bəyanatı Java üçün nəzərdə tutulmuşdur, digər dillərdə fərqli ola bilər, məsələn python: from selenium.webdriver.common.keys import Keys

252
18 авг. Cavab Ralph 18 aug tərəfindən verilir . 2011-08-18 13:19 '11 'da 13:19' da 2011-08-18 13:19

Java

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

Və ya

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

border=0

PYTHON

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

Və ya

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

Və ya

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

border=0

RUBIN

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

Və ya

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

Və ya

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

border=0

#

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

Və ya

 driver.findElement(By.id("Value")).sendKeys(Keys.ENTER); 
141
28 февр. Cavab Prashanth Sams 28 Fevral. 2014-02-28 12:37 '14 at 12:37 pm 2014-02-28 12:37

İndi Selenium 2 sərbəst buraxılmışdır, bu send_keys selenium.webdriver.remote.webelement.WebElement sinifinin send_keys metodu (bu kodun nümunəsi Python-da, lakin eyni üsul Java-da var) istifadə edə bilərsiniz, çünki Enter düyməsini göndərmək bir az daha asandır:

 >>> 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") 
26
11 апр. Eli Courtwright cavab Apr 11 2011-04-11 20:17 '11 at 20:17 2011-04-11 20:17

HTML testlərini yazarkən, ENTER düyməsini ${KEY_ENTER} .

sendKeys ilə istifadə edə bilərsiniz, burada nümunədir:

 sendKeys | id=search | ${KEY_ENTER} 
12
28 янв. Cavab Maurice Svay tərəfindən Jan 28 2014-01-28 01:54 '14 da 1:54 2014-01-28 01:54

Keys.ENTER və ya Keys.RETURN hər hansı birini istifadə edə bilərsiniz. Bəzi məlumatlar:

İstifadə edin:

  • Java:

    • Keys.ENTER istifadə:

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

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

    • Keys.ENTER istifadə:

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

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

Keys.ENTERKeys.RETURN həm java.> genişləndirən java.> , həm də var java.>


Enum düymələri

Enum Keys mətnsiz olmayan tuş vuruşlarının bir nümayişidir. Onlar Unicode PUA ( Xüsusi İstifadə Vəziyyəti) kod nöqtələrində saxlanılır, 0xE000-0xF8FF.

Açar kodları:

Bunlar üçün xüsusi keys codes aşağıdakılardır:

  • RETURN = u'\ue006'
  • ENTER = u'\ue007'

Bütün Enum Keys in tətbiqi bərabər şəkildə idarə olunur.

Buna görə də, bu sendKeys(Keys.ENTER); ilə sendKeys(Keys.ENTER); Functional və ya Operational fərqli deyil sendKeys(Keys.ENTER); və ya WebElement.sendKeys(Keys.RETURN); selenyum vasitəsilə.


Açar və geri qayıt

Kompüter klaviaturalarında Enter (və ya Mac OSX-də qayıt ) əksər hallarda komanda xəttinin, pəncərə formasını və ya informasiya qutusunun istifadə edilməsinə səbəb olur. Adətən bu "yazmaq" ı tamamlayır və istənilən proses başlayır və adətən "OK" düyməsini basmaq üçün alternativdir.

Dönüş tez-tez " Giriş" adlanır və adətən eyni funksiyaları yerinə yetirir; Ancaq, bəzi xüsusi tətbiqlərdə (əsasən səhifə düzeni), Return qüvvəyə malik olan daşıyıcının qaytarma işarəsi kimi işləyir. Əksinə, Enter adətən adi PC klaviaturalarında düz mətndə adıyla etiketlənir.


Tövsiyələr

9
15 дек. Cavab DebanjanB tərəfindən verilir 15 dekabr. 2017-12-15 13:10 '17 saat 13:10 'da 2017-12-15 13:10
 selenium.keyPress("css=input.tagit-input.ui-autocomplete-input", "13"); 
8
27 окт. Cavab 27 oktyabr Nirmal Patel tərəfindən verilir . 2009-10-27 21:26 '09 da 9:26 pm 2009-10-27 21:26

Yalnız bunu edə bilərsiniz:

 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); 
7
11 окт. Cavab verildi 11 oktyabr. 2012-10-11 11:32 '12 at 11:32 2012-10-11 11:32

WebDriverJS Keys.RETURN istifadə edənlər üçün Keys.RETURN olunacaq

 webdriver.Key.RETURN 

Daha tam nümunə istinad kimi faydalı ola bilər:

 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; }; 
6
17 мая '13 в 14:15 2013-05-17 14:15 Greg Stewartın 17 May 'da 14:15' də cavab verdiyi 2013-05-17 14:15

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

6
01 окт. Cavab Mosam Mehta 01 oktyabr 2015-10-01 10:58 '15 at 10:58 2015-10-01 10:58

Yalnız mənim Xiyar testlərimə ehtiyac duyduğumu bildirmək istəmişəm və giriş / geri dönmə düyməsini basmaqla simulyasiya etmək istəyirsinizsə, dəyəri göndərməlisiniz :return and value :enter ( burada göstərilən dəyərlərə baxın)

5
12 июля '11 в 11:18 2011-07-12 11:18 cavab Pascal Lindelauf tərəfindən 12 iyul, 11 iyul 2011-ci il saat 11:18 da verilir

Selenium RC ilə Java:

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

Selenyum WebDriver (akaSelenium2) java ilə:

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

Və ya

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

WebDriver-də Enter düyməsini basmaq üçün başqa bir yol Eylemlər sinfi vasitəsilədir:

 Actions action = new Actions(driver); action.sendKeys(driver.findElement(By.id("elementID")), Keys.ENTER).build().perform(); 
5
07 апр. Ripon Al-Vasim tərəfindən verilmiş cavab 07 Apr 2015-04-07 12:48 '15 at 12:48 2015-04-07 12:48
 search = browser.find_element_by_xpath("//*[@type='text']") search.send_keys(u'\ue007') 

ENTER = u '\ ue007'

Selenium haqqında "Xüsusi düymələr" sənədlərinə müraciət edin

4
18 янв. Cavab 18 yanvarda Ashish gupta tərəfindən verilir 2016-01-18 10:52 '16 at 10:52 2016-01-18 10:52

"Klaviatura basmaq üçün necə selenium webdriver (java) düyməsinə basmaq üçün" axtarırsınızsa, aşağıdakı kodu mütləq sizə kömək edəcəkdir.

 //assign key board object Keyboard keyboard=((HasInputDevices) driver).getKeyboard(); //enter a key keyboard.pressKey(Keys.ENTER); 
3
28 мая '15 в 15:17 2015-05-28 15:17 cavab Plaban Dwivedy 28 may '15 saat 15:17 'də verilir 2015-05-28 15:17

Aşağıdakı tuş vuruşları var - C #:

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

Və ya

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

Və ya

 IWebElement body = GlobalDriver.FindElement(By.TagName("body")); body.SendKeys(Keys.Escape); 
2
07 нояб. Cavab Mohsin Awan 07 noyabr. 2016-11-07 14:43 '16 saat 14:43 'da 2016-11-07 14:43

Bir axtarışçıyı axtarmaq istəmirsinizsə, Robot sinfi istifadə edə bilərsiniz: məsələn:

  Robot robot = new Robot(); robot.keyPress(KeyEvent.VK_ENTER); robot.keyRelease(KeyEvent.VK_ENTER); 
1
10 нояб. Cavab Krzysztof Walczewski 10 Nov verilir. 2017-11-10 12:49 '17 at 12:49 2017-11-10 12:49

Selenium istifadə edərək düymələri daxil etmək üçün Əvvəlcə aşağıdakı kitabxana idxal etməliyəm:

 "import org.openqa.selenium.Keys" 

sonra düyməni daxil etmək istədiyiniz bu kodu əlavə edin

 "WebElement.sendKeys(Keys.RETURN);" 

RETURN'yu, tələbinizə görə siyahıdakı hər hansı bir tuşla əvəz edə bilərsiniz.

1
22 авг. cavab RNS 22 aug tərəfindən verilir . 2016-08-22 14:49 '16 at 14:49 2016-08-22 14:49

Bunu edə bilərsiniz:

 selenium.keyPress("id="","\\13"); 
1
22 янв. Cavab 22 yanvar tarixində verilir 2014-01-22 12:51 '14 at 12:51 2014-01-22 12:51

Bir maddə axtarmaq üçün XPATH istifadə edin və aşağıdakı kodu işləyir:

 driver.findElement(By.xpath(".//*[@id='txtFilterContentUnit']")).sendKeys(Keys.ENTER); 
1
27 нояб. 27 noyabr Abhijeet tərəfindən verilmiş cavab . 2013-11-27 13:42 '13 at 13:42 2013-11-27 13:42
 object.sendKeys("your message",Keys.ENTER); 

işləyir

1
04 сент. cavab Sanju Abel 04 sentyabr verilir. 2017-09-04 14:03 '17 saat 02:03 'da 2017-09-04 14:03

Selenyum WebDriver üçün xpath (əsas görünsə):

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

ya da,

 driver.findElement(By.xpath("xpath of text field")).sendKeys(Keys.RETURN); 
1
07 апр. Kumrun Nahar tərəfindən verilmiş cavab Keya 07 Apr 2015-04-07 13:26 '15 at 1:26 pm 2015-04-07 13:26

Giriş düyməsini mətnin ortasına göndərmək məcburiyyətindəyəm. Buna görə, 1\n2\n3 nail olmaq üçün əsas funksiyanı göndərmək üçün aşağıdakı mətni keçirdim

 1\N{U+E007}2\N{U+E007}3 
1
20 апр. Anand tərəfindən 20 Aprel tarixində verilən cavab. 2015-04-20 09:06 '15 at 9:06 2015-04-20 09:06

Bu vəziyyətdə olduqda:

a) yalnız bir düyməni basmaq istəyirik, ancaq xüsusi bir web elementi yoxdur

b) Selenium 2 (webDriver) istifadə edirsinizsə,

Sonra həll:

  Actions builder = new Actions(webDriverInstance); builder.sendKeys(Keys.RETURN).perform(); 
1
12 мая '15 в 12:07 2015-05-12 12:07 İvo Mitevə 12 May 'da 12:07 ' də cavab verilir, 2015-05-12 12:07

RUBY üçün: -

 driver.find_element(:id,"XYZ").send_keys:return 
1
12 апр. Cavab SoftwareTestingEnthusiast Apr 12 edir 2014-04-12 01:15 '14 da 1:15 2014-04-12 01:15

Həm də WebDriver halda Action interface istifadə edərək əldə edilə bilər -

 WebElement username = driver.findElement(By.name("q")); username.sendKeys(searchKey); Actions action = new Actions(driver); action.sendKeys(Keys.RETURN); action.perform(); 
1
01 окт. cavab 01 oktu anujin verilir . 2013-10-01 09:32 '13 at 9:32 2013-10-01 09:32

JAVA / JavaScript:

Bəlkə də əvvəlcə deyil , eyni şəkildə bunu edə bilərsiniz:

 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); } 
1
29 окт. Cavab 29 yanvar djangofan verilir . 2016-10-29 23:39 '16 'da 11:39 2016-10-29 23:39
 Actions action = new Actions(driver); action.sendKeys(Keys.RETURN); 
1
06 янв. Cavab Jack 666 Jan 06 tərəfindən verilir 2017-01-06 19:42 '17 də 7:42 pm 2017-01-06 19:42