黑盒测试 发表于 2017-2-23 15:11:24

selenium+python页面切换问题

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


掉渣饼 发表于 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)

黑盒测试 发表于 2017-2-23 16:36:03

掉渣饼 发表于 2017-2-23 15:50
第一种方法
#获得当前窗口
nowhandle=driver.current_window_handle


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

Tino 发表于 2017-2-28 10:42:00

黑盒测试 发表于 2017-2-23 16:36
嗯 谢谢我知道这样
句柄是切换过去了,也可以操作,页面的展示还是切换不过去

直接用Keys库呀 CTRL+TAB

黑盒测试 发表于 2017-2-28 11:10:33

Tino 发表于 2017-2-28 10:42
直接用Keys库呀 CTRL+TAB

谢谢

梦想家 发表于 2017-5-9 17:26:56

:)

awdjessica 发表于 2017-5-9 19:44:24

学习了
页: [1]
查看完整版本: selenium+python页面切换问题