# 获取当前页面的句柄 ch = self.driver.current_window_handle # 获取所有句柄 ah = self.driver.window_handles # 切换句柄 self.driver.switch_to.window(ah[1])…
我们在做UI自动化时,不得不会遇到一些窗口跳转与弹框,在这种的时候如果不进行切换的话,继续执行脚本必然会报错,所以我们就需要用到切换窗口的方法. selenium中主要是三种窗口 Windows窗口 iframe窗口 alert窗口 1.Windows窗口 这类窗口也就是我们常说的句柄,句柄的切换是有必要的,我们自己手动在网页上从操作的话,产生新的句柄时浏览器会自动的帮我们跳转到最新的句柄处,但是我们在做UI自动化的时候,代码并不会帮我们自动的切换到最新的句柄,需要我们使用代码去进行切换 fro…
# iframe有name或id值 self.driver.switch_to.frame('iframe-name-id') # iframe没有name或id值 xf = self.driver.find_element_by_xpath('//iframe[@allowtransparency="true"]') self.driver.switch_to.frame(xf) # 跳出当前iframe self.driver.switch_to.parent_frame() #…
# -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: 元素操作-切换.py @ide: PyCharm Community Edition @time: 2019-01-19 10:43 @blog: https://www.cnblogs.com/gotesting/ ''' ''' windows窗口切换:切换到要操作的窗口 有多个窗口 1. 触发新窗口的出现 2. 得知道新窗口是谁 -- 依据窗口的window_h…
浏览器里面支持多窗口打开,例如这样: html里面写了: target="_blank" 造成新打开一个窗口,但是selenium不会自动跳转到新的串口,需要自己切换: # 你打开的浏览器,谷歌 browser = webdriver.Chrome() # 你中间的操作 ... # 获取当前浏览器所有的窗口 handles = browser.window_handles # handles为一个数组:handles = [窗口1,窗口2,...] # 窗口切换,切换为新打开的窗口 b…
窗口切换: 当前窗口句柄 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("登录")…
我们在操作网页的时候,点击有些页面的链接,会重新打开一个窗口,我们要在新页面上操作,就得切换窗口 比如在百度首页的登录框点击注册,会重新打开一个注册的新页面,要在新页面注册,就得先切进新页面 那我们怎么在这两个窗口之间进行切换呢?每个浏览器窗口都有一个唯一的属性句柄(handle)来表示,我们就可以通过句柄来切换 获取当前窗口句柄: # coding = utf-8 from selenium import webdriver # 驱动文件路径 driverfile_path = r'D:\co…
Ctrl+Shift+F6 很简单,如果以后改用IDEA的话就没用了,但这个窗口切换确实很复杂,看起来也操作比较快.…
# 导入selenium中的actionchains的方法 from selenium.webdriver.common.action_chains import ActionChains #识别需要悬停的元素 ele = self.driver.find_element_by_class_name('member-top') # 鼠标移到悬停元素上 ActionChains(self.driver).move_to_element(ele).perform()…
wd.current_window_handle #获取当前窗口句柄 wd.window_handles #获取所有窗口句柄 wd.switch_to.window(wd.window_handles)#切换窗口 使用for循环 for handles in wd.window_handles: #遍历所有位置码 if handles==wd.current_window_handle: #如果遍历的位置码等于之前的窗口,那它就是之前的窗口,不进入 print('之前的窗口,不进入') else…