python selenium automatic webpage switching, browser handle switching

import unittest #系统自带包
import time
from selenium import webdriver

class VisitSogouByChrome(unittest.TestCase): #需要继承unittest.TestCase类

    def setUp(self): #test_开头的测试方法执行前先执行的方法,有几个test_开头的方法就执行几次
        self.driver=webdriver.Chrome() #打开浏览器
        
    def test_operateWindowHandle(self): #实现测试逻辑的方法,必须test_开头
        url='https://www.baidu.com'
        self.driver.get(url)
        self.driver.maximize_window() #网页最大化
        now_handle=self.driver.current_window_handle #获取主窗口句柄
        self.driver.find_element_by_id('kw').send_keys('w3cschool') #定位元素并输入'w3cschool'
        self.driver.find_element_by_id('su').click() #定位元素并点击,查询
        time.sleep(3) #等待三秒
        self.driver.find_element_by_xpath("//*[@id='2']/h3/a").click() #定位元素并点击,打开链接
        time.sleep(5)
        all_handles=self.driver.window_handles #获取所有窗口句柄
        for handle in all_handles: #遍历句柄
            if handle !=now_handle: #判断句柄是否为主窗口句柄
                self.driver.switch_to.window(handle) #切换到新打开的窗口
                self.driver.find_element_by_link_text('学习 HTML5').click() #点击'HTML 5'链接
                time.sleep(3)
                self.driver.close() #关闭当前页面
        time.sleep(3)
        self.driver.switch_to.window(now_handle) #切换到主窗口
        time.sleep(2)
        self.driver.find_element_by_id('kw').clear() #清空
        self.driver.find_element_by_id('kw').send_keys(u"天天向上")
        self.driver.find_element_by_id('su').click()
        time.sleep(5)
        
    def tearDown(self): #test_开头的测试方法执行后再执行的方法,有几个test_开头的方法就执行几次
        self.driver.quit() #关闭浏览器
        
if __name__=='__main__':
    unittest.main() #执行当前文件所有测试类的测试方法
        

Guess you like

Origin blog.csdn.net/weixin_44123630/article/details/113820473