【pytest框架之web自动化测试】---selenium中多窗口切换
当测试过程中出现多个窗口时,元素定位和操作需要考虑是否在指定窗口执行了,否则容易出现元素定位不到的情况
举个例子:baidu首页--点击登录--点击用户注册,再返回第一个窗口点击用户名登录

这里需要用到driver.window_handles方法,保存所有已打开的窗口,按需要进行切换,然后到对应窗口定位元素
from Testdev.pytest.setup_teardown.test_login import login
class Testwindows(login): #继承login类
def test_windows(self):
self.driver.find_element_by_xpath('//*[@id="u1"]/a').click() #点击登录按钮
self.driver.find_element_by_xpath('//*[@id="passport-login-pop-dialog"]/div/div/div/div[3]/a').click()#点击立即注册按钮
handles=self.driver.window_handles #保存所有已打开窗口列表
self.driver.switch_to_window(handles[0]) #选择需要操作的窗口
self.driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_11__footerULoginBtn"]').click() #点击用户名登录
浙公网安备 33010602011771号