zoukankan      html  css  js  c++  java
  • 浏览器中新开标签页(Tab)

    #!usr/bin/env python  
    #-*- coding:utf-8 -*-  
    """ ab
    @author:   sleeping_cat
    @Contact : zwy24zwy@163.com 
    """ 
    #浏览器中新开标签页(Tab)
    
    import unittest
    from selenium import webdriver
    import time
    import win32api,win32con
    
    VK_CODE={'ctrl':0x11,'t':0x54,'tab':0x09}
    
    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)
    
    def simulateKey(firstKey,secondKey):
        keyDown(firstKey)
        keyDown(secondKey)
        keyUp(secondKey)
        keyUp(firstKey)
    
    class TestDemo(unittest.TestCase):
        def setUp(self):
            self.driver = webdriver.Firefox()
    
        def test_newTab(self):
            time.sleep(3)
            #使用for循环,再新开两个新的标签页
            for i in range(2):
                simulateKey('ctrl','t')
            #使用Ctrl+tab组合件,将当前页面切换为默认页面,也就是最先打开的标签页
            simulateKey('ctrl','tab')
            self.driver.get('http://sogou.com')
            self.driver.find_element_by_id('query').send_keys('光荣之路')
            self.driver.find_element_by_id('stb').click()
            time.sleep(3)
            self.assertTrue('乔什·卢卡斯'in self.driver.page_source)
            all_handles = self.driver.window_handles
            print(len(all_handles))
            #将当前窗口句柄切换至第二个标签页
            self.driver.switch_to.window(all_handles[1])
            self.driver.get('http://www.baidu.com')
            self.driver.find_element_by_id('kw').send_keys('WebDriver实战宝典')
            self.driver.find_element_by_id('su').click()
            time.sleep(3)
            self.assertTrue('吴晓华' in self.driver.page_source)
            self.driver.switch_to.window(all_handles[2])
            self.driver.get('http://www.baidu.com')
            self.driver.find_element_by_id('kw').send_keys('selenium')
            self.driver.find_element_by_id('su').click()
            time.sleep(3)
            self.assertTrue('www.seleniumhq.org' in self.driver.page_source)
    
        def tearDown(self):
            self.driver.quit()
    
    if __name__ == '__main__':
        unittest.main()
    注意:IE浏览器暂不支持
  • 相关阅读:
    车载OS盘点及特点分析一:车载OS几大系统介绍
    CTF常用软件/工具
    汽车软件产业研究报告(2020年)
    高级加密标准(AES)分析
    工具 | CTP、SimNow、NSight、快期
    CTF之图片隐写术解题思路
    V2X和车路协同研究:5G V2X将成为数字座舱标配
    腾讯安全正式发布《IoT安全能力图谱》
    Microsoft Remote Desktop Beta 下载地址
    密码学初探|加密模式
  • 原文地址:https://www.cnblogs.com/sleeping-cat/p/8278576.html
Copyright © 2011-2022 走看看