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

  • 相关阅读:
    Fix Installing .NET Framework 3.5 failed Error Code 0x800F0954 on Windows 10
    RHEL8安装五笔输入法
    Enable EPEL and Local Repository on RHEL8
    Why is Yum Replaced by DNF?
    检查Linux服务器是否被攻击的常用命令及方法
    IDEA 主题
    IDEA 如何显示一个类中所有的方法
    Appium 安装以及安装过程中遇到的问题
    Maven 如何发布 jar 包到 Nexus 私库
    java泛型的基本使用
  • 原文地址:https://www.cnblogs.com/test-chen/p/10524853.html
Copyright © 2011-2022 走看看