51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3288|回复: 6
打印 上一主题 下一主题

selenium+python页面切换问题

[复制链接]
  • TA的每日心情
    无聊
    2018-5-10 09:16
  • 签到天数: 172 天

    连续签到: 2 天

    [LV.7]测试师长

    跳转到指定楼层
    1#
    发表于 2017-2-23 15:11:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1、打开网站
    2、点打榜规则-打开了新的页面2
    3、确认目前句柄仍在页面1上
    4、此时再操作2仍可以打开页面3
    5、但是4无法看到是从页面1操作的
    6、所以求助如何切换到页面1界面中?


    #!/usr/bin/env python
    #_*_coding:utf-8_*_
    from selenium import webdriver
    import time
    driver=webdriver.Chrome()
    driver.maximize_window()
    driver.get('http://aibbtest.huoxiu.tv')
    h1=driver.current_window_handle
    print(h1)
    driver.find_element_by_xpath('//a[@class="aibbLogo"]').click()
    driver.find_element_by_link_text('打榜规则').click()
    h2=driver.current_window_handle
    #driver.switch_to.window(h1)
    driver.switch_to_default_content()
    print(h2)
    time.sleep(2)
    driver.find_element_by_link_text('打榜规则').click()

    CDwindow-f2d55458-9b64-43fa-a7a4-cd284b2b1f0f
    CDwindow-f2d55458-9b64-43fa-a7a4-cd284b2b1f0f
    [Finished in 11.9s]

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-12-24 13:41
  • 签到天数: 314 天

    连续签到: 1 天

    [LV.8]测试军长

    2#
    发表于 2017-2-23 15:50:00 | 只看该作者
    第一种方法
    #获得当前窗口
    nowhandle=driver.current_window_handle
    #打开弹窗
    driver.find_element_by_name("xxx").click()
    #获得所有窗口
    allhandles=driver.window_handles
    for handle in allhandles:
        #比较当前窗口是不是原先的窗口
            if handle!=nowhandle:
                #获得当前窗口的句柄
                    driver.switch_to_window(handle)
                    #在当前窗口操作
                    dirver.find_element_by_class_name("xxxx").click()
    #回到原先的窗口
    driver.switch_to_window(nowhandle)

    第二种方法:通过Windows窗口的index区分,从0开始计
    windows = driver.window_handles
    driver.switch_to_window(windows[1])

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-5-10 09:16
  • 签到天数: 172 天

    连续签到: 2 天

    [LV.7]测试师长

    3#
     楼主| 发表于 2017-2-23 16:36:03 | 只看该作者
    掉渣饼 发表于 2017-2-23 15:50
    第一种方法
    #获得当前窗口
    nowhandle=driver.current_window_handle

    嗯 谢谢我知道这样
    句柄是切换过去了,也可以操作,页面的展示还是切换不过去
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2017-3-15 09:11
  • 签到天数: 60 天

    连续签到: 3 天

    [LV.6]测试旅长

    4#
    发表于 2017-2-28 10:42:00 | 只看该作者
    黑盒测试 发表于 2017-2-23 16:36
    嗯 谢谢我知道这样
    句柄是切换过去了,也可以操作,页面的展示还是切换不过去

    直接用Keys库呀 CTRL+TAB
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-5-10 09:16
  • 签到天数: 172 天

    连续签到: 2 天

    [LV.7]测试师长

    5#
     楼主| 发表于 2017-2-28 11:10:33 | 只看该作者
    Tino 发表于 2017-2-28 10:42
    直接用Keys库呀 CTRL+TAB

    谢谢
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-23 13:02 , Processed in 0.070392 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表