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)

 

posted @ 2019-02-27 16:02  不上进的小猫  阅读(205)  评论(0编辑  收藏  举报