首页
学习
活动
专区
圈层
工具
发布

web自动化-窗口句柄及位置变化

在进行web自动化时,很容易会遇到多窗口进行切换测试,下面就对多窗口的一些句柄和切换及窗口句柄顺序简单总结一下 1 from selenium import webdriver 2 driver = webdriver.Firefox...() 3 driver.get("https://www.baidu.com") 打开百度网页后,我们手动选择几个链接并打开,新打开的窗口全部在tab签上按打开顺序从左至右排开 实际打开的三个窗口为:...我们一获取一个窗口的句柄,得出的是一个列表 >>> driver.window_handles ['6442450945', '6442450950', '6442450962'] 我们把窗口位置 调整一下...再次获取窗口句柄,发现也跟着变化了 >>> driver.window_handles ['6442450950', '6442450962', '6442450945'] 由此可见窗口的句柄排列顺序是按照浏览器...tab栏从左往右开始统计,比如我要切换到最后一个窗口 >>> driver.switch_to_window(driver.window_handles[-1]) #通过索引方式进行窗口选择 >>>

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    微软出品自动化神器【Playwright+Java】系列(九)多线程、重定向、弹出新窗口、截图、新页面、录制、页面对象模式操作

    Page.WaitForNavigationOptions().setUrl("**/login"), () -> { page.locator("#submit").click(); }); } 弹出窗口处理...,这里还请读者朋友注意,所以你跑脚本报错,并不是你代码的问题哦,示例代码如下: /** * @decription 弹出窗口处理 * @author longrong.lang * @date 2023...screenshot(new Locator.ScreenshotOptions().setPath(Paths.get("screenshot3.png"))); } 处理新页面 就是新句柄处理,只不过是连个窗口罢了...,超链接带target="_blank"标识,示例代码如下: /** * @decription 新窗口处理 * @author longrong.lang * @date 2023/02/18...-D exec.args="codegen www.baidu.com" 效果: image.png 模拟指定窗口大小录制 运行命令如下: mvn exec:java -e -D exec.mainClass

    5K31

    《最新出炉》系列初窥篇-Python+Playwright自动化测试-61 - 隐藏元素定位与操作

    脚本跑到隐藏元素时位置时报各种各样的错误,可是这种隐藏的下拉菜单又没有办法避免,所以非常头痛,这一篇只为交流隐藏元素自动化定位处理方法以及宏哥自己的一点浅薄见解。...Project: 《最新出炉》系列初窥篇-Python+Playwright自动化测试-61 - 隐藏元素定位与操作'''# 3.导入模块from playwright.sync_api import...(看到没有触发点击事件,弹出窗口,最后报错了)。...,弹出窗口,运行完之后,会发现页面正常的点击,弹出到关注宏哥的公众号窗口。)。...6.2面试提问如果面试官想问的是定位后操作隐藏元素的话,本质上说这个问题就是毫无意义的,web自动化的目的是模拟人的正常行为去操作。 如果一个元素页面上都看不到了,你人工也是无法操作的是不是?

    73820

    《最新出炉》系列入门篇-Python+Playwright自动化测试-15-playwright处理浏览器多窗口切换

    反过来今天我们所学的playwright来处理浏览器多窗口切换却比selenium更为简单快捷。下边宏哥就给小伙伴们或者童鞋们介绍一下playwrigh如何处理浏览器多个窗口的切换方法。...Created on 2023-07-13@author: 北京-宏哥 QQ交流群:705269076公众号:北京宏哥Project: 《最新出炉》系列入门篇-Python+Playwright自动化测试...-14-playwright处理浏览器多窗口切换'''# 3.导入模块from playwright.sync_api import sync_playwrightwith sync_playwright...Created on 2023-07-13@author: 北京-宏哥 QQ交流群:705269076公众号:北京宏哥Project: 《最新出炉》系列入门篇-Python+Playwright自动化测试...Created on 2023-07-13@author: 北京-宏哥 QQ交流群:705269076公众号:北京宏哥Project: 《最新出炉》系列入门篇-Python+Playwright自动化测试

    2.1K50

    软件测试|web自动化测试神器playwright教程(六)

    本篇文章我们就来介绍一下playwright的new_context和新窗口操作。browser.new_context() 创建一个新的浏览器上下文。...() as playwright: run(playwright)使用示例,在page_one 标签页打开百度,输入“web自动化测试”, 在page_two 标签页打开百度,输入“playwright...# 等待页面加载到指定状态 print(new_page.title())--------------------------运行结果如下:百度一下,你就知道百度贴吧——全球领先的中文社区处理弹出窗口如果页面打开一个弹出窗口...popup除了browserContext.on('page')事件之外还会发出此事件,但仅针对与此页面相关的弹出窗口。..."open the popup").click()popup = popup_info.valuepopup.wait_for_load_state()print(popup.title())如果触发弹出窗口的操作未知

    2K10

    《最新出炉》系列初窥篇-Python+Playwright自动化测试-16-处理模态对话框弹窗

    1.简介 我们在日常工作中,会经常遇到弹出警告框的问题,弹框无法绕过,必须处理才可以执行后续的测试,所以弹框处理也是我们必须掌握的一个知识。...框架可以监听dialog事件,不管你alert 什么时候弹出来,监听到事件就自动处理了。...''' Created on 2023-07-14 @author: ****** Project: 《最新出炉》系列初窥篇-Python+Playwright自动化测试-15-处理模态对话框弹窗 '...''' Created on 2023-07-14 @author:****** Project: 《最新出炉》系列初窥篇-Python+Playwright自动化测试-15-处理模态对话框弹窗 ''...''' Created on 2023-07-14 @author: ****** Project: 《最新出炉》系列初窥篇-Python+Playwright自动化测试-15-处理模态对话框弹窗 ''

    2.3K30

    微软开源的WebUI自动化测试神器Playwright​​​​​​​

    Playwright通过无超时自动化提高了可靠性 现在的Web应用程序样式丰富且交互性强,并动态响应用户的操作。...Playwright可扩展的自动化:快速,并行执行 Playwright旨在 在本地和云环境中提供快速、并行的自动化测试;Chromium,Firefox或WebKit的单个实例可以创建多个隔离的并发的浏览器上下文...浏览器上下文还可以模拟移动视图,模拟地理位置和区域环境。这使单个WebKit实例可在多个设备配置上并行执行多个页面场景:desktop,iPhone和iPad。...Playwright可以通过一个API自动化实现Chromium,Firefox和WebKit的多种功能: 模拟移动视图,权限,地理位置和区域设置 通过shadow-piercing选择器支持Web组件...网络拦截,用于修改和模拟网络活动 文件上传和下载 跨多个框架,选项卡和弹出窗口的方案 来自鼠标和键盘的可信赖本机输入事件 网络工作者和进程外iframe Playwright-可以拦截网络请求,

    3.7K10

    《刚刚问世》系列初窥篇-Java+Playwright自动化测试-23- 操作鼠标拖拽 - 番外篇(详细教程)

    playwright 提供了launchPersistentContext启动浏览器的方法,可以非无痕模式启动浏览器。无痕模式启动浏览器适合做自动化测试的人员。...* * @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货) * * 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-23- 操作鼠标拖拽 - 番外篇(详细教程) * *...如下图所示:4.小结宏哥在实践的过程中,发现无论手动还是利用上边的代码进行自动化测试都会出现那个反爬虫的机制弹出,因此宏哥怀疑最可能的问题就是由于宏哥近期频繁访问演示,可能被反爬虫的机制判断后,进行了IP...但是其不是很稳定啊,后边在运行代码也会弹出选字校验。各位有什么好办法可以留言给宏哥,抱歉了没有帮到大家!...4.为什么按你的教程,我这个网站就无法保持登录?能不能保持登录状态,主要看你网站的cookies有效期,有些网站关闭浏览器后就失效了,比如一些银行的网站,你只要关闭浏览器窗口,下次就需要再次登录。

    79320

    《最新出炉》系列初窥篇-Python+Playwright自动化测试-21-处理鼠标拖拽-番外篇

    而且最近有一些爬虫用户私信给宏哥留言:在使用 playwright 的时候,提到 playwright 默认是用无痕模式打开的浏览器,很多网站会有反爬机制,使用无痕模式打开的时候功能无法正常使用。...自动化测试-21-处理鼠标拖拽-番外篇 ''' # 3.导入模块 from playwright.sync_api import sync_playwright with sync_playwright...自动化测试-21-处理鼠标拖拽-番外篇 ''' # 3.导入模块 from playwright.sync_api import sync_playwright with sync_playwright...,出现“校验成功,通过”的字样,而不是之前出现的那种反爬虫机制,又弹出选字校验)。...4.为什么按你的教程,我这个网站就无法保持登录? 能不能保持登录状态,主要看你网站的cookies有效期,有些网站关闭浏览器后就失效了,比如一些银行的网站,你只要关闭浏览器窗口,下次就需要再次登录。

    11.2K40

    《刚刚问世》系列初窥篇-Java+Playwright自动化测试-11- 标签页(tab)操作 - 下篇 (详细教程)

    ) * * 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-10- 标签页(tab)操作 (详细教程) * * 2024年12月29日 */public class Test_Tab...contextcontext.onPage(page -> { page.waitForLoadState(); System.out.println(page.title());});4.处理弹出窗口如果页面打开一个弹出窗口...popup除了browserContext.on('page')事件之外还会发出此事件,但仅针对与此页面相关的弹出窗口。... 如果页面打开一个弹出窗口(例如通过链接打开的页面),您可以通过监听页面上的事件target="_blank"来获取对它的引用。...popup除了browserContext.on('page')事件之外还会发出此事件,但仅针对与此页面相关的弹出窗口。

    66210

    《最新出炉》系列初窥篇-Python+Playwright自动化测试-21-处理鼠标拖拽-番外篇

    而且最近有一些爬虫用户私信给宏哥留言:在使用 playwright 的时候,提到 playwright 默认是用无痕模式打开的浏览器,很多网站会有反爬机制,使用无痕模式打开的时候功能无法正常使用。...自动化测试-21-处理鼠标拖拽-番外篇 ''' # 3.导入模块 from playwright.sync_api import sync_playwright with sync_playwright...自动化测试-21-处理鼠标拖拽-番外篇 ''' # 3.导入模块 from playwright.sync_api import sync_playwright with sync_playwright...,出现“校验成功,通过”的字样,而不是之前出现的那种反爬虫机制,又弹出选字校验)。...4.为什么按你的教程,我这个网站就无法保持登录? 能不能保持登录状态,主要看你网站的cookies有效期,有些网站关闭浏览器后就失效了,比如一些银行的网站,你只要关闭浏览器窗口,下次就需要再次登录。

    76840

    《刚刚问世》系列初窥篇-Java+Playwright自动化测试-18- 操作模态对话框弹窗 (详细教程)

    1.简介 我们在日常工作中,会经常遇到弹出警告框的问题,弹框无法绕过,必须处理才可以执行后续的测试,所以弹框处理也是我们必须掌握的一个知识。宏哥在java+selenium系列文章中介绍过这部分内容。...playwright 框架可以监听dialog事件,不管你alert 什么时候弹出来,监听到事件就自动处理了。 默认情况下,Playwright 会自动关闭对话框,因此您不必处理它们。...因此,以下代码段将永远无法解析: page.onDialog(dialog -> System.out.println(dialog.message())); page.getByRole(AriaRole.BUTTON...; /** * @author 北京-宏哥 * * @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货) * * 《刚刚问世》系列初窥篇-Java+Playwright自动化测试...; /** * @author 北京-宏哥 * * @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货) * * 《刚刚问世》系列初窥篇-Java+Playwright自动化测试

    36210

    《刚刚问世》系列初窥篇-Java+Playwright自动化测试-18- 操作模态对话框弹窗 (详细教程)

    1.简介我们在日常工作中,会经常遇到弹出警告框的问题,弹框无法绕过,必须处理才可以执行后续的测试,所以弹框处理也是我们必须掌握的一个知识。宏哥在java+selenium系列文章中介绍过这部分内容。...playwright 框架可以监听dialog事件,不管你alert 什么时候弹出来,监听到事件就自动处理了。默认情况下,Playwright 会自动关闭对话框,因此您不必处理它们。...因此,以下代码段将永远无法解析:page.onDialog(dialog -> System.out.println(dialog.message()));page.getByRole(AriaRole.BUTTON...;/** * @author 北京-宏哥 * * @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货) * * 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-18- 操作模态对话框弹窗...;/** * @author 北京-宏哥 * * @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货) * * 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-18- 操作模态对话框弹窗

    1K20

    《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置

    1.简介 在我们日常工作中或者生活中,经常会遇到我们的页面内容较多,一个屏幕范围无法完整展示内容,我们就需要滚动滚动条去到我们想要的地方,如下图页面,我们虽然在豆瓣首页,但是内容并不完整,如果我们想要直接点击电影模块中的选电影按钮...当页面超过屏幕的高度时候,需要滚动到元素出现的位置,让元素处于可视的窗口上才能去操作元素。...''' Created on 2023-12-16 @author: 北京-宏哥 公众号:北京宏哥 Project: 《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置...''' Created on 2023-12-16 @author: 北京-宏哥 公众号:北京宏哥 Project: 《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置...''' Created on 2023-12-16 @author: 北京-宏哥 公众号:北京宏哥 Project: 《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置

    57800

    《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置

    1.简介在我们日常工作中或者生活中,经常会遇到我们的页面内容较多,一个屏幕范围无法完整展示内容,我们就需要滚动滚动条去到我们想要的地方,如下图页面,我们虽然在豆瓣首页,但是内容并不完整,如果我们想要直接点击电影模块中的选电影按钮...当页面超过屏幕的高度时候,需要滚动到元素出现的位置,让元素处于可视的窗口上才能去操作元素。...Created on 2023-12-16@author: 北京-宏哥公众号:北京宏哥Project: 《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置...Created on 2023-12-16@author: 北京-宏哥公众号:北京宏哥Project: 《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置...Created on 2023-12-16@author: 北京-宏哥公众号:北京宏哥Project: 《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置

    90520

    《最新出炉》系列入门篇-Python+Playwright自动化测试-10-标签页操作(tab)

    自动化测试-10-标签页操作 ''' # 3.导入模块 from playwright.sync_api import sync_playwright with sync_playwright()...自动化测试-10-标签页操作(tab) ''' # 3.导入模块 from playwright.sync_api import sync_playwright #打开两个浏览器上下文 with sync_playwright...自动化测试-10-标签页操作(tab) ''' # 3.导入模块 from playwright.sync_api import sync_playwright with sync_playwright...如果页面打开一个弹出窗口(例如通过链接打开的页面),您可以通过监听页面上的事件target="_blank"来获取对它的引用。...popup 除了browserContext.on('page')事件之外还会发出此事件,但仅针对与此页面相关的弹出窗口。

    1.2K30

    《最新出炉》系列初窥篇-Python+Playwright自动化测试-58 - 文件下载

    因此宏哥就接着讲解和分享一下:自动化测试下载文件。可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就是访问到下载页面,然后定位到要下载的文件的下载按钮后,点击按钮就可以了。...我们可以看到在下载文件时会弹出一个Windows对话框,我们知道,selenium只能操作web页面,无法操作Windows对话框,在Selenium的的教程中,关于这部分的讲解就是利用浏览器的参数来禁止下载弹出窗口或者是利用工具...2.下载文件的APIPlaywright是一个现代化的自动化测试工具,它支持多种浏览器和操作系统,可以帮助开发人员和测试人员轻松地构建和运行可靠的端到端测试。...Project: 《最新出炉》系列初窥篇-Python+Playwright自动化测试-58 - 文件下载'''# 3.导入模块from playwright.sync_api import Playwright...如下图所示:3.可以看到文件已经成功下载到宏哥的本地电脑默认的下载路径里,如下图所示:5.小结本文主要介绍了使用playwright实现自动化的文件下载,相比于selenium,playwright文件下载的功能更加强大

    68720

    上次的爬虫问题给一个新的解决方案

    废话少说,直接切入正题,没看过前文的同学,熟悉一下这个:通用性基本爬虫问题的解决思路 解决方案: 下面简单介绍一下新的框架: Playwright 宣称是比 Puppeteer 更好用的浏览器自动化工具...Playwright 是微软出品的浏览器自动化工具,代码质量应该是有足够保证的。...Playwright提供的自动化技术是绿色的、功能强大、可靠且快速,支持Linux、Mac以及Windows操作系统。 与selenium不同的是,Playwright是依赖Node.js....page.wait_for_selector(selector='tr.evenBj:nth-child(2) > td:nth-child(8) > a:nth-child(1)', timeout=60000) # 点击查看,弹出框...imgList) print('获取图片数量:' + str(len(set(imgList)))) # 关闭浏览器 browser.close() 这个爬虫的主要的问题是怎么绕过点击

    2.3K20
    领券