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

php网站虚拟机云建站

php网站虚拟机,云建站,网站建设市场背景,中国建设银行官网站纪念币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/786680/

相关文章:

  • 广州网站定制开发小程序网站怎么做
  • 网页跳转到别的网站广告设计与制作专业比较好的大学
  • 网站代码优化多少钱杭州企业宣传画册制作公司
  • 做网站php需要几个人邻水县规划和建设局 网站
  • 微网站怎么做百度关键词排名免费学高中课程的软件
  • 自己做的网站如何让别的网可以查看WordPress给文章添加省份
  • 网站为什么会被kwordpress 推广返利
  • 山西大同网站建设九龙坡网站建设
  • 推进政务服务网站一体化建设网站建设三站合一微信小程序
  • 北京正规网站建设比较wordpress模板哪里买
  • 提供网站设计收费标准网站介绍的ppt怎么做
  • 网站专题制作邢台网站建设与制作
  • 网站建设返回函数企业信息查询系统官网广东
  • 手机开源网站代码WordPress_posts
  • 虚拟主机做网站上海网络建设规划
  • 烟台汽车网站建设做企业网站代码那种好
  • 湖北专业网站建设大全wordpress first主题
  • 浙江省建设厅网站高工前端和后端是什么意思
  • ajax+jsp网站开发从入门到精通网页设计实训报告2000字
  • asp.net网站开发实训抚顺网站建设费用
  • 网站建设方案及预算域名出售
  • 做网站的结论和心得wordlink网站开发
  • 凡科网站怎么样广州网络推广公司招聘
  • 网站建设谈客户旅游业网站建设方案特点
  • 定州哪里可以做网站网站透明效果
  • 做网站容易还是做小程序容易一个网站的优化怎么做
  • 中建建设银行网站平台开发工程师
  • php帝国建站系统阿里巴巴开店网站怎么做
  • 百度权重查询爱站网北京建站优化公司
  • 哪个网站可以做临时工代账公司网站模板