博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium切换窗口后定位元素出现问题的解决方案
阅读量:6617 次
发布时间:2019-06-24

本文共 839 字,大约阅读时间需要 2 分钟。

在做UI自动化的过程中,有时需要由一个窗口跳转到另一个窗口,这时直接去定位页面元素,可能会出现问题,这时,我们需要将driver与新的窗口进行绑定。

完整代码如下:(python版)

#coding=utf-8import osfrom selenium import webdriverimport timechrome = 'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe'os.environ["webdriver.chrome.driver"] = chromedriver = webdriver.Chrome(chrome)driver.get('http://www.baidu.com')#获取当前窗口的句柄currentWin = driver.current_window_handle#跳转到另一个新页面driver.find_element_by_xpath("//p[@id='nv']/a[3]").click()time.sleep(1)#获取所有窗口的句柄handles = driver.window_handlesfor i in handles:    if currentWin == i:        continue    else:        #将driver与新的页面绑定起来        driver = driver.switch_to_window(i)#在新的页面定位元素driver.find_element_by_xpath("//div[@id='menu']/a[1]").click()time.sleep(2)driver.quit()

以上。

说明:driver是对应到一个特定的窗口的。使用switch_to_window()方法后,需要更新driver,将driver与新的窗口绑定。

注:转载需注明出处及作者。

      

你可能感兴趣的文章
happyhbase 基本操作和增量操作
查看>>
JAVA API集
查看>>
开源类型
查看>>
onSaveInstanceState() 什么时候调用
查看>>
双十一高并发场景背后的数据库RDS技术揭秘
查看>>
数据流被污染?数据质量不高?蚂蚁金服数据资产管理平台了解一下
查看>>
我的友情链接
查看>>
DES 算法报告
查看>>
iscsiadm命令使用方法
查看>>
双机热备篇 VGMP招式详解.2
查看>>
使用recon/domains-hosts/baidu_site模块,枚举baidu网站的子域
查看>>
解决 Warning: Permanently added (RSA) to the list of known hosts.
查看>>
Open Flash Chart2 常用的参数
查看>>
数据仓库入门(实验7)部署分析服务数据库
查看>>
linux下mysql双主热备
查看>>
解决Binary XML file line #6: : Error inflating class <unknown> 的问题
查看>>
linux常用命令显示说明
查看>>
我的友情链接
查看>>
使用路由和远程访问服务为Hyper-V中虚拟机实现NAT上网
查看>>
python中列表的使用
查看>>