练习: 打开百度首页,点击新闻链接页面,点击新闻界面的互联网专题,关闭此页面回到百度首页
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()