首页 > 其他分享 >使用 Playwright 控制浏览器的启动、停止和等待

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

时间:2024-05-12 10:30:45浏览次数:27  
标签:playwright 浏览器 sync Playwright 停止 等待 page browser

简介

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

启动停止浏览器

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

from playwright.sync_api import sync_playwright

playwright = 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_playwright


with 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_playwright



with 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定位元素的方法。

标签:playwright,浏览器,sync,Playwright,停止,等待,page,browser
From: https://www.cnblogs.com/hogwarts/p/18187556

相关文章

  • 使用 Playwright 进行元素定位
    前言在自动化测试和网页爬取中,定位页面元素是一项重要的任务。Playwright提供了多种方式来定位页面元素,包括通过CSS选择器、XPath和文本内容等。在本文中,我们将介绍如何使用Playwright进行元素定位。CSS选择器定位元素使用CSS选择器是一种常见且灵活的方式来定位页面......
  • playwright使用:启动浏览器与多种运行方式
    前言在本文中,我们将介绍如何使用Playwright这一现代化的浏览器自动化工具来启动浏览器,并深入了解其运行方式。Playwright是一个功能强大的工具,可以帮助开发人员自动化测试、网页截图、信息提取等任务。它支持多种浏览器,包括Chrome、Firefox和WebKit。启动浏览器上一篇文章中,我......
  • Playwright安装与Python集成:探索跨浏览器测试的奇妙世界
    前言web自动化测试是我们工作中的重要一环,随着Web应用程序和网站的复杂性不断增加,跨浏览器测试变得越来越必要。而Playwright作为一种新兴的跨浏览器测试工具,为开发人员提供了一种轻松愉快的方式来进行自动化测试。本文将带您深入探索Playwright的安装过程,并结合Python语言,揭示......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-46-鼠标滚轮操作
    1.简介有些网站为了节省流量和资源,提高加载效率,采用的是动态加载(懒加载)的,也就是当拖动页面右侧滚动条后会自动加载网页下面的内容,不拖动就不会加载的或者通过鼠标滚轮操作。2.wheel模拟鼠标滚动wheel模拟鼠标滚动,就是通过调度一个wheel事件。(滚轮事件如果不处理可能会导致滚动,......
  • 1 浏览器生成消息
    目录1生成http请求消息1生成http请求消息URI:统一资源标识符UniformResourceIdentifierURL:统一资源定位符UniformResourceLocatorhttp的基本思路http消息的格式由于每条请求消息中只能写1个URI,所以每次只能获取1个文件,如果需要获取多个文件,必须对每个文件......
  • 使用selenium时,用webdriver初始化浏览器时间过久并伴随报错 operation timed out 的处
    我使用的系统是archlinux,在日常更新软件包时系统自动将selenium更新到目前(2024年5月)最新的版本,即:python-selenium4.20.0-1。在运行我的爬虫时报错缺少依赖包,经过一番查询得知现在的驱动由webdriver_manger统一接管了。webdrivermanger来对浏览器驱动和浏览器版本进行管理,但aur......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-45-鼠标操作-下篇
    1.简介鼠标为我们使用电脑提供了很多方便,我们看到的东西就可以将鼠标移动过去进行点击就可以打开或者访问内容,当页面内容过长时,我们也可以使用鼠标滚轮来实现对整个页面内容的查看,其实playwright也有鼠标操作的方法。上一篇文章中已经讲解过鼠标的部分操作了,今天宏哥在这里将剩下......
  • 关于浏览器插件的初步认识
    1.浏览器插件是什么,如何安装?它是浏览器允许添加额外功能或修改其行为的软件组件。这些拓展通常由第三方开发者创建,并通过浏览器的拓展系统进行安装和管理。不同浏览器有不同的拓展系统,例如:Chrome拓展:Chrome使用ChromeWebStore来分发和管理拓展。用户可以通过访问Chro......
  • 银弹:为了避免项目的成员为了一些问题争执不休,公司发明了银弹(Silver Bullet)这一工具。
    我的答案:【第二组】答:银弹作为一种工具,其目的是为了在项目团队中解决争议,确保项目能够继续前进。然而,是否真的有用,需要从多个角度进行考量:团队沟通与协作:银弹提供了一种强制性的解决方案,可以在一定程度上减少无休止的争论,促使团队成员快速做出决策。这在某些情况下可以提......
  • Selenium4自动化测试1--Chrome浏览器和chromedriver
    selenium的介绍Selenium是一个用于Web应用程序测试的强大工具,可以模拟用户在浏览器中的行为。它提供了一组功能丰富的工具和库,使您能够自动化浏览器操作,进行功能测试、回归测试和跨浏览器测试。Selenium原理 它需要模拟浏览器的操作所以需要用到浏览器和浏览器驱动。一、......