当前位置: 首页 > news >正文

海北高端网站建设公司汕头市住房和城乡建设局网站

海北高端网站建设公司,汕头市住房和城乡建设局网站,app开发技术有哪些,wordpress必须安装插件Playwright允许收听网页上发生的各种类型的事件,例如网络请求,创建子页面,专用工作人员等。有几种方法可以订阅此类事件,例如等待事件或添加或删除事件侦听器。 等待事件 大多数情况下,脚本需要等待特定事件的发生。…

Playwright允许收听网页上发生的各种类型的事件,例如网络请求,创建子页面,专用工作人员等。有几种方法可以订阅此类事件,例如等待事件或添加或删除事件侦听器。

等待事件

大多数情况下,脚本需要等待特定事件的发生。下面是一些典型的事件等待模式。

等待request

使用 page.expect_request() 等待具有指定 url 的请求

 ```pywith page.expect_request(\"http://example.com/resource\") as first:page.get_by_text(\"trigger request\").click()first_request = first.value# or with a lambdawith page.expect_request(lambda request: request.url == \"http://example.com\" and request.method == \"get\") as second:page.get_by_text(\"trigger request\").click()second_request = second.value```

 点击元素,预期request的url是某个url

等待弹出窗口

with page.expect_popup() as popup:page.get_by_text("open the popup").click()
popup.value.goto("https://wikipedia.org") 

 监听页面事件

  def print_request_sent(request):print("Request sent: " + request.url)def print_request_finished(request):print("Request finished: " + request.url)page.on("request", print_request_sent)page.on("requestfinished", print_request_finished)page.goto("http://www.baidu.com")

可以看到监听到了发出请求和请求完成。 

示例:

from playwright.sync_api import Playwright, sync_playwrightdef main(playwright: Playwright) -> None:# 启动浏览器和页面browser = playwright.chromium.launch()page = browser.new_page()# 监听新页面打开事件def on_page(page):print(f"A new page was opened: {page.url}")page.close()page.on("popup", on_page)# 打开新页面并等待page.goto("https://example.com")page.click("a[target='_blank']")page.wait_for_selector("#newpage")# 关闭浏览器browser.close()with sync_playwright() as playwright:main(playwright)

在上面的例子中,使用了playwright的chromium驱动程序启动了浏览器,并创建了一个新页面。然后,使用page.on来监听新页面打开事件。当新页面被打开时,on_page函数会被调用,并输出新页面的URL。最后,我们在页面上单击一个链接,等待新页面打开并关闭浏览器。 

 一次性监听特定事件

page.once可以用于监听一次事件,当事件被触发时,执行回调函数并自动注销事件监听器。

once函数第一个参数为event,第二个参数为一个回调函数。

def once(self, event: str, f: typing.Callable[..., None]) -> None:return super().once(event=event, f=f)

page.once("dialog", lambda dialog: dialog.accept("2021"))
page.evaluate("prompt('Enter a number:')")

示例:

from playwright.sync_api import Playwright, sync_playwrightwith sync_playwright() as p:browser = p.chromium.launch()page = browser.new_page()def on_load():print(page.title())page.once("load", on_load)page.goto("https://example.com")browser.close()

在上述示例代码中,使用了page.once函数来监听页面的load事件,当事件触发时,会执行on_load函数并输出页面的标题。由于使用了page.once函数,因此事件监听器只会在事件被触发一次后自动注销,不会造成内存泄漏问题。 

http://www.yayakq.cn/news/234218/

相关文章:

  • 网站行销台州企业网站搭建厂家
  • 可以做引流网站的源码主要搜索引擎网站搜索结果比较
  • 做网站上海龙岩建设局网站
  • 网站职业培训学校诸城做网站公司
  • 哪些大型网站用python做的商标制作logo在线制作
  • 360免费自助建站网站开发工作简历
  • Asp网站开发入门100个简单的手工小玩具
  • 广东网站备案要求网站页面架构图
  • 禅城建网站做短视频网站需要审批
  • 广东企业网站建设推荐阿里云备案网站建设方案书
  • 静态网站更新文章麻烦免费网站建设模板
  • 0基础网站开发网红营销的策略
  • 更合高明网站建设什么the wordpress
  • 外星人做的网站网站申请页面
  • 做网站用什么服务器好怎么修改网站的关键词
  • 怎么做网站的广告成都网站开发培训机构
  • 企业营销类专业网站福永小学网站建设
  • 网站设计一个版块旅行社网站建设方案
  • 建设销售型网站网站策划与设计(
  • 做网站怎样做才有百度快照网站建设费属于宣传费吗
  • 口碑好的网站建设多少钱评论网站建设
  • dedecms做的网站手机上看图片变形seo具体怎么优化
  • 网站策划专有技术泰安房产信息网
  • 做地铁系统集成的公司网站盐城网站建设价位
  • 婚恋网站建设技巧开发公司移交物业清单
  • 那个网站做的好蔡甸做网站
  • 工作箴言上海网站建设乐云seo
  • 一般网站用什么软件做网站百度不到验证码怎么办
  • 遂宁网站设计科技类网站怎么做
  • 网站建设流程 文档诚信快捷小企业网站建设