Selenium Webdriver API(5)
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()
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号