使用 Playwright 控制浏览器的启动、停止和等待

news/2024/9/27 15:17:13

简介

Playwright 是一个强大的自动化测试工具,它不仅可以模拟用户在浏览器中的行为,还能够灵活控制浏览器的启动、停止和等待操作。在本文中,我们将探讨如何使用 Playwright 进行这些操作。

启动停止浏览器

我们之前是使用with方法来控制浏览器启动和停止,现在我们来介绍一下使用start stop来控制浏览器,代码如下:

from playwright.sync_api import sync_playwrightplaywright = sync_playwright().start()browser = playwright.chromium.launch(headless=False)
page = browser.new_page()
page.goto("https://www.ceshiren.com/")browser.close()
playwright.stop()

等待

我们之前介绍过,相对于selenium,playwright执行速度会更快,为了便于我们查看执行的过程,我们可以加上等待来减缓执行,但是与selenium不同,playwright通过slow_mo (单位是毫秒)减慢执行速度,它的作用范围是全局的,从启动浏览器到操作元素每个动作都会有等待间隔,方便在出现问题的时候看到页面操作情况。使用方法如下:

chromium.launch(headless=False, slow_mo=50)

示例代码如下:

from playwright.sync_api import sync_playwrightwith sync_playwright() as p:browser = p.chromium.launch(headless=False, slow_mo=1000)page = browser.new_page()page.goto("https://www.baidu.com")print(page.title())page.fill('#kw', "测试人社区")page.click('#su')browser.close()

注:与selenium不同,playwright不再支持time.sleep(),而是使用page.wait_for_timeout()来实现等待,当我们调试时需要等待,即可使用该方法。

示例代码如下:

from playwright.sync_api import sync_playwrightwith sync_playwright() as p:browser = p.chromium.launch(headless=False, slow_mo=1000)page = browser.new_page()page.goto("https://www.baidu.com")print(page.title())# 等待5秒page.wait_for_timeout(5000)page.fill('#kw', "测试人社区")page.click('#su')# 等待3秒 page.wait_for_timeout(3000)browser.close()

运行结果如下:

总结

本文主要介绍了一些playwright的简单使用,playwright的使用与selenium有一些不同,我们需要注意不同点,比如playwright默认是无头模式运行以及等待的改变。下一篇文章我们将介绍playwright定位元素的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/30485.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

playwright使用:启动浏览器与多种运行方式

前言 在本文中,我们将介绍如何使用Playwright这一现代化的浏览器自动化工具来启动浏览器,并深入了解其运行方式。Playwright是一个功能强大的工具,可以帮助开发人员自动化测试、网页截图、信息提取等任务。它支持多种浏览器,包括Chrome、Firefox和WebKit。 启动浏览器 上一…

sql学习:终于把sql case语句使用讲明白了,一看就懂

作者 | 幸福it民工 来源 | 今日头条 在数据库查询分析中,经常遇到case条件判断,总结出来供大家参考,下面通过两个实例给大家讲解。 case用途介绍: CASE是多条件分支语句,相比IF…ELSE语句,CASE语句进行分支流程控制可以使代码更加晰,易于理解。CASE语句也根据表达式逻辑值…

MajorDoMo RCE(CNVD-2024-02175)

影响平台 MajorDoMo < 0662e5e 漏洞复现 fofa 搜索语法:app="MajordomoSL" POC: GET /modules/thumb/thumb.php?url=cnRzcDovL2EK&debug=1&transport=%7c%7c%20%28%65%63%68%6f%20%27%5b%53%5d%27%3b%20%65%63%68%6f%20%31%32%33%3b%20%65%63%68%6f%20…

SpringBoot3集成WebSocket

WebSocket通过一个TCP连接在客户端和服务器之间建立一个全双工、双向的通信通道,使得客户端和服务器之间的数据交换变得更加简单。标签:WebSocket,Session,Postman。一、简介 WebSocket通过一个TCP连接在客户端和服务器之间建立一个全双工、双向的通信通道,使得客户端和服…

神器!使用Python 轻松识别验证码

前言 在我们进行自动化测试的过程中,免不了要在登录时遇到验证码,很多时候我们都是只能找开发要万能验证码或者暂时关闭验证码这个功能,但是有时候我们必须要验证码是否能够正常生成,所以在这个时候,我们需要做的就是输入验证码,但是验证码这个东西是随机生成的,不是每一…

如何定时打开网站

首先,需要用到的这个工具:度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z1、打开工具按下Ctrl+3,切换到定时器模块,左侧右键,选择新建2、标题叫百度,等下就让它打开百度,间隔1分钟,每次重复执行1个 3、在建好的右侧,右键,添加4、选择链接,输入百度网址,点击确定 5、…

经典译文:Transformer--Attention Is All You Need

经典译文:Transformer--Attention Is All You Need 来源 https://zhuanlan.zhihu.com/p/689083488本文为Transformer经典论文《Attention Is All You Need》的中文翻译: https://arxiv.org/pdf/1706.03762.pdf注意力满足一切Ashish Vaswani Google Brain avaswani@google.com…

Berkeley vLLM:算力减半、吞吐增十倍

Berkeley vLLM:算力减半、吞吐增十倍 来源 https://zhuanlan.zhihu.com/p/697142422随着大语言模型(LLM)的不断发展,这些模型在很大程度上改变了人类使用 AI 的方式。然而,实际上为这些模型提供服务仍然存在挑战,即使在昂贵的硬件上也可能慢得惊人。 现在这种限制正在被打…