selenium之实现多窗口切换到自己想要的窗口

#coding=utf-8
from selenium import webdriver
import time
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
driver.get(‘https://www.imooc.com/user/newlogin/from_url/‘)
driver.find_element_by_name(‘email‘).send_keys(‘自己慕课网账号‘)
driver.find_element_by_name(‘password‘).send_keys(‘对应密码)
driver.find_element_by_class_name(‘moco-btn‘).click()
time.sleep(2)
driver.get(‘https://www.imooc.com/user/setbindsns‘)
driver.find_elements_by_class_name(‘inner-i-box‘)[1].find_element_by_class_name(‘moco-btn-normal‘).click()
handl_list = driver.window_handles
current_handle = driver.current_window_handle
print(handl_list)
#[1,2,3,4]
time.sleep(15)
for i in handl_list:
    if i != current_handle:
        time.sleep(2)
        driver.switch_to.window(i)
        ti = EC.title_contains("网站连接")
        if ti(driver) == True:
            break
time.sleep(5)
driver.find_element_by_id(‘userId‘).send_keys(‘test‘)
time.sleep(5)
driver.close()

原文地址:https://www.cnblogs.com/raind/p/10285490.html

时间: 2024-11-05 14:56:56

selenium之实现多窗口切换到自己想要的窗口的相关文章

Selenium多窗口切换方法快速入门

问题描述:执行脚本时遇到最多的一个问题就是Unable to find element in selenium...,除了排除页面加载时间原因外,对于初学者常犯的一个错误是,点击某个按钮跳转到新页面的问题.若在当前页面打开,给予足够的加载时间即可.但若是新窗口打开页面时,Selenium是不会自动识别到新窗口去查找元素的,所以需要我们去模拟人为切换到新窗口.WebDriver 提供了 switchTo().window()方法可以实现在不同的窗口之间切换. 解决方案: 1.首先,确认在哪个ste

selenium webdriver窗口切换

selenium webdriver窗口切换,有时候在做自动化的时候需要打开很多很多的页面, 当在操作不同的页面的时候需要切换窗口,下面是如何切换到前后页面窗口的操作: package test20161206; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; im

selenium测试(Java)--多窗口切换(十三)

如果遇到点击按钮或链接后出现新窗口的情况,就需要使用窗口切换的方法. 本例中就是先打开百度搜索界面,然后利用js打开一个百度新闻界面,然后通过selenium提供的窗口切换方法切换窗口 1 package com.test.windows; 2 3 import java.util.Iterator; 4 import java.util.Set; 5 6 import org.openqa.selenium.By; 7 import org.openqa.selenium.Javascript

selenium 窗口切换(多表单切换)

在web应用中,前台网页的设计一般会用到iframe/frame表单嵌套页面的应用.简单的就是一个页面签嵌套多个HEML/JSP文件.selenium webdriver  只能在同一页面识别定位元素,可以狭隘的理解成只能识别当前所在位置的页面上的元素.对于不同的iframe/frame表单中的元素是无法直接定位的.需要结合switchTo().frame()方法切换到指定的frame/iframe中.switchTo().frame()默认的是取表单的ID和name属性.如果没有id和name

Selenium弹出新页面无法定位元素问题(Unable to locate element)--多窗口切换

最近学习到多窗口切换,在页面操作过程中有时点击某个链接会弹出新的窗口,这时需要先切换到新窗口才能对其进行操作.Webdriver提供了switch_to.window( ) 方法实现在不同窗口中切换. 查阅相关资料,得到两种方法来定位到当前页面: 方法一: browser.switch_to_window(browser.window_handles[1]) 方法二:直接定位当前最新弹出的窗口 for handle in browser.window_handles:#方法二,始终获得当前最后的

selenium多个窗口切换

造成新打开一个窗口,但是selenium不会自动跳转到新的串口,需要自己切换: # 你打开的浏览器,谷歌 browser = webdriver.Chrome() # 你中间的操作 ... # 获取当前浏览器所有的窗口 handles = browser.window_handles # handles为一个数组:handles = [窗口1,窗口2,...] # 窗口切换,切换为新打开的窗口 browser.switch_to.window(handles[-1]) # 切换回最初打开的窗口

selenium入门14 窗口切换

窗口切换: 当前窗口句柄 current_window_handle 所有的窗口句柄 window_handles 切换窗口 switch_to_window() #coding=utf-8 #切换窗口 from selenium import webdriver import time dr = webdriver.Firefox() dr.get("http://www.baidu.com") dr.find_element_by_link_text("登录")

selenium 多窗口切换

selenium 多窗口切换 知识点: 1.current_window_handle:获取当前窗口句柄 2.window_handles:返回所有窗口的句柄到当前会话 3.switch_to.window():用于切换到相应的窗口.  与switch_to.frame()类似. switch_to.window()是用于不同窗口的切换.switch_to.frame()是用于不同表单的切换. 示例; #selenium 窗口切换 from selenium import webbrowser

Selenium 3----定位一组元素+多表单切换+多窗口切换

定位一组元素 和定位单个元素类似,WebDriver提供了8种用于定位一组元素的方法.定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数. find_elements_by_id() find_elements_by_name() find_elements_by_class_name() find_elements_by_tag_name() find_elements_by_link_text() find_elements_by_partia