4.10 selenium 多窗口切换

要实现的步骤:在这两个页面之间切换


在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作。WebDriver提供了switch_to.window()方法,可以实现在不同窗口之间切换。

from selenium import  webdriver
import time

#selenium 自动化测试 4.10 多窗口切换  句柄
class Windows:
    def setup_method(self):
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(10)
        self.driver.get("http://www.baidu.com")
        self.driver.maximize_window()

    def tear_down(self):
        self.driver.quit()

    def windows(self):
        #获得百度搜素窗口句柄
        self.search_windows = self.driver.current_window_handle

        self.driver.find_element_by_link_text("登录").click()
        self.driver.find_element_by_link_text("立即注册").click()

        #获得当前所有打开窗口的句柄
        all_handles = self.driver.window_handles

        #进入注册窗口
        for handle in all_handles:
            if handle != self.search_windows:
                self.driver.switch_to.window(handle)
                print('现在在注册窗口!')
                self.driver.find_element_by_name("userName").send_keys('dwabc321cda')
                time.sleep(3)

        #回到搜索窗口
        for handle in all_handles:
            if handle == self.search_windows:
                self.driver.switch_to.window(handle)
                print('现在在搜索窗口!')
                self.driver.find_element_by_id('TANGRAM__PSP_4__closeBtn').click()
                self.driver.find_element_by_id('kw').send_keys('selenium')
                self.driver.find_element_by_id('su').click()
                time.sleep(2)

if __name__ == '__main__':
    windows = Windows()
    windows.setup_method()
    windows.windows()
    windows.tear_down()


warning :未经授权,不得转载
有问题的小伙伴请在下方留言,喜欢就点个赞吧;关注我,带你一起写bug
CSDN:带只拖鞋去流浪
知乎:带只拖鞋去流浪
哔哩哔哩:带只拖鞋去流浪

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容