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

石家庄+外贸网站建设公司徐州网站建设价格

石家庄+外贸网站建设公司,徐州网站建设价格,网站建设用什么程序语言,深圳网站建设设计平台本次案例一共解决了如下两个问题: (1)如何使用playwright截图,特别是验证码图片 (2)在playwright中如何判断一个元素可见 1.截图 我们首先解决第一个问题,截图。如果前期接触过selenium的小伙…

本次案例一共解决了如下两个问题:

        (1)如何使用playwright截图,特别是验证码图片

        (2)在playwright中如何判断一个元素可见

1.截图

我们首先解决第一个问题,截图。如果前期接触过selenium的小伙伴应该不难接受使用playwright截图。

在playwright中,截图分为三种情况:整页截图,捕获到缓冲区,元素截图。

整页截图就是捕获屏幕截图并将其保存到文件中,对应的方法为page.screenshot(path=文件保存的路径以及文件名称)page.screenshot(path='screenshot.png')表示整屏幕截图并将截图命名为screenshot.png,保存在当前程序所在的目录下。

捕获到缓冲区具体是什么意思本人并不清楚,如果有知道的小伙伴麻烦留言,非常的感谢。

元素截图相当于我们常用的区域截图,一般我们可以截取验证码或者滑块所在的图片,对应的方法为page.locator(元素定位表达式).screenshot({ path: 文件保存的路径以及文件名称 })也可以是page.locator(元素定位表达式).screenshot( path=文件保存的路径以及文件名称 ),例如page.locator('xpath=//form/div/img').screenshot(path='screenshot.png')表示定位验证码图片然后进行截图。

2.在playwright中判断一个元素可见

破解验证码,在一定程度上程序可能识别错误。如果输入账号、密码、验证码,网页登录不上,一般会有相应的提示信息,比如账号错误、密码错误、验证码输入错误等提示信息,我们通过定位这些信息是否在网页上可见就可以断言登录是否成功。

判断网页上的某个元素是否可见可以使用is_visible()方法。具体的使用方法为:page.locator(元素定位表达式).is_visible()

3.完整程序代码

'''playwright如何下载验证码图片主要学习一下如何使用playwright截图'''from playwright.sync_api import sync_playwright
import ddddocrdef handle_code():'''该函数用于破解验证码'''with open('screenshot.png', 'rb') as f:ocr = ddddocr.DdddOcr(show_ad=False)code = ocr.classification(f.read())# code 的类型时字符串样式return codewith sync_playwright() as p:browser = p.chromium.launch(headless=False)context = browser.new_context()page = context.new_page()page.goto('https://www.chaojiying.com/user/login/')page.locator('xpath=/html/body/div[3]/div/div[3]/div[1]/form/div/img').screenshot(path='screenshot.png')# with open('screenshot.png', 'rb') as f:#     ocr = ddddocr.DdddOcr(show_ad=False)#     code = ocr.classification(f.read())# print(code,type(code))page.locator('xpath=/html/body/div[3]/div/div[3]/div[1]/form/p[1]/input').type('账号',delay=1000)page.locator('xpath=/html/body/div[3]/div/div[3]/div[1]/form/p[2]/input').type('密码',delay=1000)page.locator('xpath=/html/body/div[3]/div/div[3]/div[1]/form/p[3]/input').type(handle_code(),delay=1000)page.locator('xpath=/html/body/div[3]/div/div[3]/div[1]/form/p[4]/input').click()# 如果登录不成功,使用while循环破解验证码,输入验证码,判断“验证码”错误字样是否在网页上出现flag = page.locator('xpath=/html/body/div[3]/div/div[1]/span/font').is_visible() # 验证码错误字样是否出现,如果flag为真则登录失败while flag:print('验证失败,重新验证')page.locator('xpath=/html/body/div[3]/div/div[3]/div[1]/form/div/img').screenshot(path='screenshot.png')page.locator('xpath=/html/body/div[3]/div/div[3]/div[1]/form/p[3]/input').type(handle_code(),delay=1000)page.locator('xpath=/html/body/div[3]/div/div[3]/div[1]/form/p[4]/input').click()flag = page.locator('xpath=/html/body/div[3]/div/div[1]/span/font').is_visible()print('登录成功')page.wait_for_timeout(1000)page.close()context.close()browser.close()

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

相关文章:

  • 机关网站建设需求文档如何建设网站论文文献
  • 中国十大网络公司排行榜徐州网站建设优化
  • 福州网站制作官网163企业邮箱免费注册
  • 网站修改报价网站开发工程师应聘书范文700字
  • 做网站营销怎么去推广在线画图工具
  • 网站做违法的事情投诉把做的网站发布打万维网上
  • 现在做网站用什么软件微信小程序开发工具怎么用
  • 广东网站建设哪家专业天台县低价网站建设
  • 旅游网站开发需求文档模板网页设计网站网站建设课程设计
  • 阳西哪里有做网站拉新工作室在哪里接项目
  • 网站做几级等保设计公司灰白色调网站
  • 做cpa用什么网站邯郸做移动网站找谁
  • 上海比较好的网站建设公司全部免费网站软件
  • 长沙营销型网站建设网站建设如何存数据
  • 律师网站建设方案广州自助网站推广制作
  • 瑞安专业网站建设阿里邮箱企业版app下载
  • 网站建设服资讯网站做app
  • 门户网站兴化建设局 金宁波网站建设最好
  • 浙江住房和城乡建设网站铜陵电子商务网站建设
  • 一般网站服务器配置网站上传的图片不显示
  • 深圳医疗网站建设码制作二维码官网
  • 网站开发的形式是郑州网站推广优化外包公司
  • 临沂的各类网站建设河南省新闻出版学校怎么样
  • 浙江省建设厅干部学校门户网站鄞州区建设局网站
  • 网站半年了 没有流量个人主页设计模板图片
  • 郑州网站设计费用非凡网站建设平台网页
  • 阿里巴巴网站网络营销的平台如何利用社交网站做招聘
  • 天津品牌网站建设做视频网站的方法
  • wordpress网站变灰seo推广主要做什么
  • 平台和自建网站服务提供者wordpress用多大主机