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

网站的前端开发龙岗专业做网站公司

网站的前端开发,龙岗专业做网站公司,一级a做爰片免费网站体验区,手机wap网页游戏playwright高级操作 iframe切换 ​ 很多时候#xff0c;网页可能是网页嵌套网页#xff0c;就是存在不止一个html标签#xff0c;这时候我们的selenium或者playwright一般来说定位不到#xff0c;为什么呢#xff1f; ​ 因为默认是定位到第一个标准的html标签内部。 …playwright高级操作 iframe切换 ​ 很多时候网页可能是网页嵌套网页就是存在不止一个html标签这时候我们的selenium或者playwright一般来说定位不到为什么呢 ​ 因为默认是定位到第一个标准的html标签内部。 from playwright.sync_api import sync_playwright p sync_playwright().start()browser p.chromium.launch(headlessFalse) page browser.new_page()page.goto(https://cdn2.byhy.net/files/selenium/sample2.html)lcs page.locator(.plant).all() for lc in lcs:print(lc.inner_text(timeout1000))# 默认是等30s,我们修改为1s​ 接下来我们好好分析一下这个网页结构发现存在一个iframe标签有过前端开发基础的同学应该能看出来了就是实现了网页的嵌套。 ​ 但是我们需要的内容在 这个iframe标签中所以需要切换到其中。 可以使用 Page 或者 Locator 对象的 frame_locator 方法定位到你要操作的frame。 frame_locator() - 帧定位器 |剧作家 Python — FrameLocator | Playwright Python ​ 使用 iframe 时您可以创建一个帧定位器该定位器将进入 iframe 并允许选择该 iframe 中的元素。 # selector 为css选择器或者xpath选择器 frame_locator.frame_locator(selector)现在我们对上面的案例进行修改 from playwright.sync_api import sync_playwright p sync_playwright().start()browser p.chromium.launch(headlessFalse) page browser.new_page()page.goto(https://cdn2.byhy.net/files/selenium/sample2.html) #------------------修改的代码------------------------------------ # 产生一个 FrameLocator 对象 frame page.frame_locator(iframe[srcsample1.html]) # 再 在其内部进行定位 lcs frame.locator(.plant).all() for lc in lcs:print(lc.inner_text(timeout2000))窗口切换 ​ 在playwright的使用过程中可能会涉及不同页面的切换则会使用需要BrowserContext 来切换浏览器对象的上下文不然你获取的对象还是之前的。 from playwright.sync_api import sync_playwright p sync_playwright().start()browser p.chromium.launch(headlessFalse) page browser.new_page()page.goto(https://cdn2.byhy.net/files/selenium/sample3.html)# 点击链接打开新窗口 会切换到bing page.locator(a).click()# 打印网页窗口标题 print(page.title())但是显然结果并没有发生变化这是因为上下文对象没有变化。 from playwright.sync_api import sync_playwright pw sync_playwright().start() browser pw.chromium.launch(headlessFalse) # 创建 BrowserContext 对象 context browser.new_context()# 通过context 创建page page context.new_page() page.goto(https://cdn2.byhy.net/files/selenium/sample3.html) # 点击链接打开新窗口 page.locator(a).click() # 等待2秒 不能用 time.sleep page.wait_for_timeout(2000)# pages属性是 所有窗口对应Page对象的列表 newPage context.pages[1] # 打印新网页窗口标题 print(newPage.title()) # 打印老网页窗口标题 print(page.title()) print(context.pages)结果 必应 白月黑羽测试网页3 [Page urlhttps://cdn2.byhy.net/files/selenium/sample3.html, Page urlhttps://cn.bing.com/]BrowserContext 对象有个 pages 属性这是一个列表里面依次为所有窗口对应Page对象。 关闭网页 Browser对象有close 方法可以实现关闭整个浏览器。 如果只是要关闭某个网页窗口可以调用该窗口对应的Page对象的 close 方法。 page.close() page.close(**kwargs)移动网页 ​ 假如我们有多个网页但是想切换某个网页到最前面需要怎么设置呢 将页面放在前面TAB: page.bring_to_front()固定界面 定时器debugger 执行js代码卡住页面 setTimeout(function(){debugger}, 5000)截屏 ​ playwright和selenium都可以实现截屏当然这个方法主要用于验证码将图片交给第三方打码平台然后就可以实现滑块点选等等。 网页截屏 # 窗口大小 page.screenshot(pathss1.png)# 截屏完整页面页面内容长度超过窗口高度时包括不可见部分包括滑动。 page.screenshot(pathss1.png, full_pageTrue)当然也可以对某个部分进行截图 tagpage.locator(input[typefile]) tag.screenshot(pathss2.png)拖拽 drag_and_drop() 相关参数 source 用于搜索要拖动的元素的选择器target 用于搜索要拖放到的元素的选择器source_position 此时单击源元素相对于元素填充框的左上角target_position 相对于元素填充框的左上角在目标元素上放置 ​ 此方法将源元素拖动到目标元素。它将首先移动到源元素执行 mousedown 然后移动到目标元素并执行 mouseup . page.drag_and_drop(#source, #target) # or specify exact positions relative to the top-left corners of the elements: page.drag_and_drop(#source,#target,source_position{x: 34, y: 7},target_position{x: 10, y: 20} )drag_to(target) 相关参数文档https://playwright.dev/python/docs/api/class-locator#locator-drag-to # 选中 span#t1 文本内容 page.locator(#t1).select_text() # 拖拽到 输入框 [placeholdercaptcha] 里面去 page.drag_and_drop(#t1, [placeholdercaptcha])还有一种就是已经定位到某个对象了这时候可以不使用page对象来进行操控 source page.locator(#source) target page.locator(#target)source.drag_to(target) # or specify exact positions relative to the top-left corners of the elements: source.drag_to(target,source_position{x: 34, y: 7},target_position{x: 10, y: 20} )# 选中 span#t1 文本内容 lc page.locator(#t1)lc.select_text()# 拖拽到 输入框 [placeholdercaptcha] 里面去 lc.drag_to(page.locator([placeholdercaptcha]))总结 ​ 在本文中我们深入探索了Playwright的高级操作。我们学习了如何在应用中切换iframe以及如何处理多个窗口的切换。我们还了解了如何关闭网页和移动网页位置以及如何固定界面以便进行更精确的测试。此外我们还学习了如何使用Playwright进行屏幕截图和拖拽操作。 ​ 通过掌握这些高级操作我们可以更好地利用Playwright的强大功能来自动化测试和模拟用户交互。这些技巧可以帮助我们处理各种复杂的场景例如在应用中嵌套的iframe、多个窗口之间的切换以及拖拽操作。 ​ Playwright的灵活性和易用性使其成为一个强大的自动化测试工具。通过学习并掌握这些高级操作我们可以更好地利用Playwright的功能提高测试效率和准确性。 ​ 希望本文对你了解和应用Playwright的高级操作有所帮助并能够在你的测试工作中发挥作用。 温馨提示 ​ 整理源于快速上手 | 白月黑羽 (byhy.net)如有侵权请及时联系删除
http://www.zqtcl.cn/news/704294/

相关文章:

  • 品牌网站建设服务机构wordpress英文改中文
  • 系统开发费外链优化方法
  • 网站建设公司起名网站构建的友情链接怎么做
  • 网站建设湖南wordpress 缓存时间
  • 木藕设计网站大全福州网络营销推广产品优化
  • 建设银行网上官方网站怎么批量修改wordpress文章内容
  • 多肉建设网站的目的及功能定位app网站开发成本
  • 如何保存网站上的图片不显示图片报纸网站建设
  • 网站营销的流程品牌推广方式有哪些
  • 网站开发的条件美术字设计
  • 网站可以自己做服务器么wordpress架站教程
  • 用ps怎么做网站导航条怎么做部署iis网站
  • 酒店 网站构建怎么创建自己的网址
  • 江苏推广网站建设业务个人工作室网站源码带后台
  • 色一把做最好的网站赤峰微信网站建设
  • 指定网站长期建设 运营计划网站淘宝客 没备案怎么做
  • 绵阳网站推广排名知名商业网站有哪些
  • 简要描述创建商务站点的商务天津建设工程合同备案网站
  • 做展示空间设计的网站wordpress调用作品分类
  • 网站怎么做访问量统计百度百科怎么创建自己
  • 泉州开发网站的公司有哪些网站页面相似度查询工具
  • 卖文章的网站源码咸阳做网站的公司电话
  • 网站建设案例百度云怎么在手机上传百度云wordpress
  • 传媒公司取名seo网站推广怎么收费
  • 网站建设具体详细过程WordPress usdt收款
  • 网站标题应怎设置生产备案号怎么查询网站
  • 怎样建立网站目录结构网站 项目方案
  • jsp做网站还响应式科技公司网站模板
  • 杭州网站建设设计公司做阀门网站
  • 用模板建站青岛企业网站制作公司