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()

猜你喜欢

转载自www.cnblogs.com/test-chen/p/10524853.html