zoukankan      html  css  js  c++  java
  • python3.6+selenium_键盘事件

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time : 2019/1/10 16:37
    # @File : unittest_test9_1.py
    
    '''键盘事件'''
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium.webdriver.common.keys import Keys
    import unittest
    import time
    
    class HotkeyTest(unittest.TestCase):
        def setUp(self):
            self.driver = webdriver.Chrome()
            self.driver.maximize_window()
            self.driver.implicitly_wait(30)
            self.driver.get('https://www.baidu.com/?tn=78000241_11_hao_pg')
    
        def test1_hotkey(self):
            #联合key_down(Keys.SHIFT).send_keys('n').key_up(Keys.SHIFT)方法模拟按下“shift+n”,之后再提交
            #key_down(Keys.SHIFT)仅按下SHIFT键不释放
            #key_up(Keys.SHIFT)释放SHIFT
            #perform()提交以保存的动作
            ActionChains(self.driver).key_down(Keys.SHIFT).send_keys('n').key_up(Keys.SHIFT).perform()
    
    
        def test2_hotkey(self):
            # 输入搜索内容
            self.driver.find_element_by_name('wd').clear()
            self.driver.find_element_by_name('wd').send_keys('123q')
            time.sleep(2)
    
            # 删除多输入的q
            self.driver.find_element_by_name('wd').send_keys(Keys.BACKSPACE)
            time.sleep(2)
    
            #输入空格键
            self.driver.find_element_by_name('wd').send_keys(Keys.SPACE)
            time.sleep(2)
            self.driver.find_element_by_name('wd').send_keys('木头人')
            time.sleep(2)
    
            #Ctrl+a全选,Ctrl+x,Ctrl+v使用方法相同
            self.driver.find_element_by_name('wd').send_keys(Keys.CONTROL,'a')
            time.sleep(2)
    
        def tearDown(self):
            self.driver.quit()
    
    if __name__ == '__main__':
        unittest.main(verbosity=2)
  • 相关阅读:
    ES6模块
    遍历数组和对象的方法
    JVM知识(六):linux环境下查看JVM内存大小
    WebSocket实时消息推送
    SpringBoot中基于Mybatis多数据源操作
    浅谈Redis中的雪崩和穿透及击穿。
    Hibernate与Mybatis的区别
    Java动态代理和反射机制
    JSON对象和JSON字符串的区别
    JVM知识(五):垃圾回收算法
  • 原文地址:https://www.cnblogs.com/xiuxiu123456/p/10444329.html
Copyright © 2011-2022 走看看