[Selenium][Test case]Day2:浏览器页面切换

134 阅读1分钟

练习: 打开百度首页,点击新闻链接页面,点击新闻界面的互联网专题,关闭此页面回到百度首页

from selenium import webdriver
from time import sleep

class TestCase(object):
    def __init__(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.baidu.com')
        self.driver.maximize_window()  # 窗口最大化
        sleep(2)

    def test_windows(self):
        # 记录百度首页handle
        homepage_handle = self.driver.current_window_handle
        # 点击新闻链接
        self.driver.find_element_by_xpath('//*[@id="s-top-left"]/a[1]').click()
        sleep(2)

        # 获取所有窗口的handle
        handles = self.driver.window_handles

        # 循环handles找出新窗口的handle
        for handle in handles:
            if handle != homepage_handle:  # 寻找匹配
                # 激活新窗口
                self.driver.switch_to.window(handle)
                break

        # 点击互联网链接
        self.driver.find_element_by_xpath('//*[@id="channel-all"]/div/ul/li[8]/a').click()
        sleep(2)

        # 关闭当前界面
        self.driver.close()
        sleep(2)

        # 激活百度首页
        self.driver.switch_to.window(homepage_handle)

        # 验证已激活首页
        self.driver.find_element_by_id("kw").send_keys("Github")
        sleep(2)

        # 关闭浏览器
        self.driver.quit()
        print('Pass')

if __name__ == '__main__':
    case = TestCase()
    case.test_windows()