#!/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)