zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    Heartbeat实现热备
    rsync实现数据增量备份
    MySql重置密码
    media viewport
    Java操作Excel之JXL (填充EXCEL模板)转载
    字节流与字符流的区别详解
    GIT和SVN的区别
    oracle与DB2递归查询
    SQL中使用WITH AS提高性能 简化嵌套SQL(转载)
    CVS tag and branch(转)
  • 原文地址:https://www.cnblogs.com/test-chen/p/10524853.html
Copyright © 2011-2022 走看看