python做自动化界面_使用Python进行自动化测试如何切换窗口

我把我的程序写上来,请各位大佬给看看,为什么我明明打开了2个窗口,但是handle依然是一个值。导致切换窗口失败,后续的步骤都无法进行。#coding=gbkfromseleniumimportwebdriverimp...

我把我的程序写上来,请各位大佬给看看,为什么我明明打开了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个页面,为什么只有一个值呢?

展开

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值