• 键盘事件
  • Ruby selenium part7 键盘事件

    键盘事件

    sendKeys

    即使遇到修饰符键序列, sendKeys也会在DOM元素中键入键序列. Here are the list of possible keystrokes that WebDriver Supports.

    require 'selenium-webdriver'
    driver = Selenium::WebDriver.for :firefox
    begin
      # Navigate to URL
      driver.get 'https://google.com'
    
      # Enter "webdriver" text and perform "ENTER" keyboard action
      driver.find_element(name: 'q').send_keys 'webdriver', :return
    
    ensure
      driver.quit
    end
    

    keyDown

    keyDown用于模拟按下辅助按键(CONTROL, SHIFT, ALT)的动作

    require 'selenium-webdriver'
    driver = Selenium::WebDriver.for :chrome
    begin
      # Navigate to URL
      driver.get 'https://google.com'
    
      # Enter "webdriver" text and perform "ENTER" keyboard action
      driver.find_element(name: 'q').send_keys 'webdriver', :return
    
      # Perform action ctrl + A (modifier CONTROL + Alphabet A) to select the page
      driver.action.key_down(:control).send_keys('a').perform
    
    ensure
      driver.quit
    end
    

    keyUp

    keyUp用于模拟辅助按键(CONTROL, SHIFT, ALT)弹起或释放的操作.

    require 'selenium-webdriver'
    driver = Selenium::WebDriver.for :chrome
    begin
      # Navigate to URL
      driver.get 'https://google.com'
    
      # Store google search box WebElement
      search = driver.find_element(name: 'q')
    
      # Enters text "qwerty" with keyDown SHIFT key and after keyUp SHIFT key (QWERTYqwerty)
      driver.action.key_down(:shift).send_keys(search,'qwerty').key_up(:shift).send_keys("qwerty").perform
    
    ensure
      driver.quit
    end
    

    clear

    清除可编辑元素的内容. 这仅适用于可编辑且可交互的元素, 否则Selenium将返回错误(无效的元素状态或元素不可交互).

    require 'selenium-webdriver'
    driver = Selenium::WebDriver.for :chrome
    begin
      # Navigate to URL
      driver.get 'https://google.com'
      # store 'search_input' element
      search_input = driver.find_element(name: 'q')
      search_input.send_keys('selenium')
      # Clears the entered text
      search_input.clear
    ensure
      driver.quit
    end
    

    上一篇:Ruby selenium part6 定位与查找方法

    下一篇:Ruby selenium part8 鼠标事件