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

  • 相关阅读:
    GitHub 集成在Windows Azure Web Site中
    WebMatrix 2发布了!添加了新的Windows Azure 功能
    客户文章: 10gen和微软合作伙伴在云端提供NoSql数据库
    VC++实现IP与ARP信息获取,可以同理实现APR攻击
    现实世界中的 Windows Azure: 刚刚起步的LiquidSpace借助Windows Azure快速发展
    VC++实现遍历所有进程的TCP与UDP链接
    Node.js 体验存储服务和服务运行时
    客户文章:Windows Azure SendGrid入门
    2005年大学毕业生的求职新战略
    WinAPI: RoundRect 绘制圆角矩形
  • 原文地址:https://www.cnblogs.com/test-chen/p/10524853.html
Copyright © 2020-2023  润新知