使用Python进行自动化测试如何切换窗口 100

我把我的程序写上来,请各位大佬给看看,为什么我明明打开了2个窗口,但是handle依然是一个值。导致切换窗口失败,后续的步骤都无法进行。#coding=gbkfromse... 我把我的程序写上来,请各位大佬给看看,为什么我明明打开了2个窗口,但是handle依然是一个值。导致切换窗口失败,后续的步骤都无法进行。
#coding=gbk
from selenium import webdriver
import unittest
import time
class Mytest(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Firefox()
url='xxxxxxxxx'
self.driver.get(url)
self.driver.find_element_by_id('userName').clear()
self.driver.find_element_by_id('userName').send_keys('90023')
self.driver.find_element_by_id('password').send_keys('xxxxxx')
self.driver.find_element_by_id('mouse').click()
def test_aj(self):
now_handle=self.driver.current_window_handle
self.driver.find_element_by_class_name('systemTo').click()
print('打开了2个窗口。')
all_handles=self.driver.window_handles
print(all_handles)
self.driver.switch_to.window(all_handles[1])
self.driver.find_element_by_id('para').clear()
self.driver.find_element_by_id('para').send_keys('3175048')
self.driver.find_element_by_class_name('search-button').click()
time.sleep(3)
---------------------
在进行到 print(all_handles)的时候,只打印了一串句柄。往后的切换就肯定会报错了。系统报错:
Traceback (most recent call last):
File "D:\mywork\Pvtest\unittest2\try0902.py", line 20, in test_aj
self.driver.switch_to.window(all_handles[1])
IndexError: list index out of range
就不难理解了,因为在all_handles[]只有一个值。
那么我明明开了2个页面,为什么只有一个值呢?
展开
 我来答
张淼森8l
2018-10-15 · 超过79用户采纳过TA的回答
知道小有建树答主
回答量:286
采纳率:58%
帮助的人:51.7万
展开全部
把这行代码先注释掉all_handles=self.driver.window_handles
self.driver.switch_to.window(all_handles[1])改成
self.driver.switch_to.window(driver.window_handles[1])
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式