Selenium Webdriver API(5)
31、键盘操作-F12
#encoding=utf-8
import time
import unittest
from selenium import webdriver
class VisitSogouByIE(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Ie(executable_path = "D:\\IEDriverServer")
def test_simulateASingleKey(self):
url = "http://www.sogou.com"
self.driver.get(url)
#导入模拟按键模块Keys
from selenium.webdriver.common.keys import Keys
#通过id获取搜索输入框的页面元素
query = self.driver.find_element_by_id("query")
#通过webdriver实例发送一个F12键
query.send_keys(Keys.F12)
time.sleep(3)
#再次通过webdriver实例模拟发送一个F12键
query.send_keys(Keys.F12)
#在搜索输入框中输入“Selenium”
query.send_keys("selenium")
#通过webdriver实例模拟发送一个回车键
query.send_keys(Keys.ENTER)
time.sleep(3)
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
unittest.main()
32、组合按键
安装模拟组合按键的包 pywin32-219.win-amd64-py2.7.exe 或者使用命令pip install pywin32(可能会失败)
#encoding=utf-8
import unittest
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
import win32clipboard as w
import win32con
import win32api
import time
#读取剪切板
def getText():
w.OpenClipboard()
d = w.GetClipboardData(win32con.CF_TEXT)
w.CloseClipboard()
return d
#设置剪切板内容
def setText(aString):
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT,aString)
w.CloseClipboard()
VK_CODE = {
"enter":0x0d,
"ctrl":0x11,
"a":0x41,
"v":0x56,
"x":0x58
}
#键盘键按下
def keyDown(keyName):
win32api.keybd_event(VK_CODE[keyName],0,0,0)
#键盘键抬起
def keyUp(keyName):
win32api.keybd_event(VK_CODE[keyName],0,win32con.KEYEVENTF_KEYUP,0)
class VisitWebByIE(unittest.TestCase):
def setUp(self):
#启动浏览器
self.driver = webdriver.Ie(executable_path = "D:\\IEDriverServer")
def test_copyAndPaste(self):
url = "http://www.baidu.com"
self.driver.get(url)
#声明即将要被设置到剪切板中的内容
content = u"魔兽世界"
#将content变量中的内容设置到剪切板中
setText(content)
#从剪切板中获取刚设置到剪切板中的内容
getContent = getText()
print getContent
#将焦点切换到搜索输入框中
self.driver.find_element_by_id("kw").click()
time.sleep(1)
keyDown("ctrl")
keyDown("v")
#释放Ctrl+V组合键
keyUp("v")
keyUp("ctrl")
#点击“百度搜索”按钮
time.sleep(1)
self.driver.find_element_by_id("su").click()
time.sleep(3)
def tearDown(self):
self.driver.quit()
if __name__ == "__main__" :
unittest.main()