Best Python code snippet using playwright-python
LOL.py
Source:LOL.py
...7"""8from scrapy_splash import SplashRequest9"""10script1: LUAè¯æ³èæ¬11 set_viewport_size(w, h): ç¨æ¥è®¾ç½®æµè§å¨é¡µé¢ç宽é«;12 go(): å®ææå®é¡µé¢çå è½½;13 åæ°: url, baseurl, headers, http_method, body, formdata14 url: éè¦å è½½ç页é¢çç½å;15 baseurl: å¯éåæ°,é»è®¤ä¸ºç©º,表示èµæºå è½½çç¸å¯¹è·¯å¾;16 headers: å¯éåæ°,é»è®¤ä¸ºç©º,ç¨æ¥è®¾ç½®è¯·æ±çheader;17 http_method: å¯éåæ°,é»è®¤ä¸ºget,å¦ææ¯postæ¤æ¶éè¦è®¾ç½®;18 body: å¯éåæ°,é»è®¤ä¸ºç©º,åéPOST请æ±æ¶åæå¡å¨ä¼ è¾çåæ°æ°æ®;19 formdata: å¯éåæ°,é»è®¤ä¸ºç©º,POST请æ±æ¶ç对åºç表åæ°æ®,20 é»è®¤ä½¿ç¨form表åé»è®¤çç¼ç æ ¼å¼å³application/x-www-form-urlencode.21 wait(): ç¨æ¥çå¾
ç½é¡µçå è½½,åä½ä¸ºç§;22 åæ°: time, cancle_on_redirect, cancel_on_error 23 time: 延æ¶æ¶é´;24 cancel_on_redirect: å¯éåæ°,é»è®¤ä¸ºfalse,ç¨æ¥è®¾ç½®å½ç½é¡µåçéå®åæ¶æ¯å¦ç»æçå¾
;25 cancel_on_error: å¯éåæ°,é»è®¤ä¸ºfalse,ç¨æ¥è®¾ç½®å½ç½é¡µåçé误æ¶æ¯å¦ç»æçå¾
26 png(): å°å è½½ä¹åçç½ç«æªå±,以pngæ ¼å¼è¿å, è¿æjpeg();27 html(): å°å è½½ä¹åçç½ç«ä»¥HTMLæ ¼å¼è¿å28 29 jsfunc(): å°èªå®çjavascriptæ¹æ³è½¬åæLUAæ¹æ³,ä½æ¯èªå®ä¹æ¹æ³å¿
é¡»å
å«å¨[[]]ä¸30 autoload(): å®æ第ä¸æ¹èµæºè¿ç¨é¾æ¥,æ¯å¦å¼å
¥Jquery31"""32# å®ä¹ä¸æ®µLUAèæ¬,æ§å¶é¡µé¢è¡ä¸º33script1 = """34 function main(splash, args)35 splash:set_viewport_size(1200, 2000)36 splash.images_enabled = false37 splash:autoload('https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js')38 splash:go(args.url)39 splash:wait(args.wait)40 click_fun = splash:jsfunc([[41 function(){42 $('label[data-id="Tank"]').click();43 } 44 ]])45 click_fun()46 splash:wait(args.wait)47 return splash:png()48 end49"""50"""51è¿ååå
¸ç±»åæ°æ®æ¶éè¦ä½¿ç¨lxmlçetree解æ52"""53script2 = """54 function main(splash, args)55 splash:set_viewport_size(1200, 2000)56 splash:go(args.url)57 splash:wait(args.wait)58 return {'msg'='aa', data=splash.html()}59 end60"""61script3 = """62 function main(splash, args)63 splash:set_viewport_size(1200, 2000)64 splash.images_enabled = false65 splash:go("https://lol.qq.com/data/info-defail.shtml?id=Aatrox")66 splash:wait(args.wait)67 return splash:png()68 end69"""70class LolSpider(scrapy.Spider):71 name = 'LOL'72 allowed_domains = ['lol.qq.com']73 start_urls = ['http://lol.qq.com/data/info-heros.shtml']74 def start_requests(self):75 for url in self.start_urls:76 """77 endpoint: 设置splash渲æçæ¹å¼,é»è®¤æ¯render...
lua_js.py
Source:lua_js.py
1"""2set_viewport_size(w,h):ç¨æ¥è®¾ç½®æµè§å¨çªå£ç尺寸ï¼w代表宽度ï¼h代表é«åº¦3go(url, baseurl, headers, http_method, body,formdata):å®ææå®é¡µé¢çå è½½4url:éè¦å è½½ç页é¢çç½å5baseurl:å¯éåæ°ï¼é»è®¤ä¸ºç©ºï¼è¡¨ç¤ºèµæºå è½½çç¸å¯¹è·¯å¾6headersï¼å¯éåæ°ï¼é»è®¤ä¸ºç©ºï¼ç¨æ¥è®¾ç½®è¯·æ±çheader7http_method:å¯éåæ°ï¼é»è®¤ä¸ºgetï¼å¦ææ¯postæ¤æ¶éè¦è®¾ç½®8bodyï¼å¯éåæ°ï¼é»è®¤ä¸ºç©ºï¼åéPOST请æ±æ¶åæå¡å¨ä¼ è¾çåæ°æ°æ®9formdataï¼å¯éåæ°ï¼é»è®¤ä¸ºç©ºï¼POSTçæ¶å对åºç表åæ°æ®ï¼é»è®¤ä½¿ç¨form表åé»è®¤çç¼ç æ ¼å¼å³application/x-www-form-urlencode10wait(time, cancle_on_redirect, cancel_on_error):ç¨æ¥çå¾
ç½é¡µçå è½½ï¼å¯¹åºçæ¶é´ä»¥ç§ä¸ºåä½11time:çå¾
ç½é¡µå è½½çæ¶é´12cancle_on_redirectï¼å¯éåæ°ï¼é»è®¤ä¸ºfalseï¼ç¨æ¥è®¾ç½®å½ç½é¡µåçéå®åæ¶æ¯å¦ç»æçå¾
13cancle_on_errorï¼å¯éåæ°ï¼é»è®¤ä¸ºfalseï¼ç¨æ¥è®¾ç½®å½ç½é¡µåçé误æ¶æ¯å¦ç»æçå¾
14png():å°å è½½ä¹åçç½ç«æªå±ï¼å¹¶ä¸ä»¥pngæ ¼å¼è¿å15html():å°å è½½ä¹åçç½ç«ä»¥htmlæ ¼å¼è¿å16jpeg():å°å è½½ä¹åçç½ç«æªå±å¹¶ä¸ä»¥jpgæ ¼å¼è¿å17jsfunc():å°èªå®çjavascriptæ¹æ³è½¬åæluaæ¹æ³ï¼ ä½æ¯èªå®ä¹æ¹æ³å¿
é¡»å
å«å¨[[]]ä¸18autoload():å®æ第ä¸æ¹èµæºè¿ç¨é¾æ¥å è½½19"""20lua1='''21 function main(splash,args)22 splash:set_viewport_size(1500,3500)23 splash:go(args.url)24 splash:wait(args.wait)25 26 scrool_top=splash:jsfunc([[27 function(x,y){28 window.scrollTO(x,y)29 }30 ]])31 scrool_top(0,500)32 splash:wait(args.wait/3)33 return {model_name=args.model_name,data=splash:html()}34 end35'''36#å®ä¹luaè¯æ³æ¨¡æç¨æ·å¨è±é页é¢ç¹å»æä½37lua_hero='''38 function main(splash,args)39 splash:set_viewport_size(1200,2500)40 splash:autoload("https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js")41 splash:go(args.url)42 splash:wait(args.wait)43 44 click_btn=splash:jsfunc([[45 function(btn_sel){46 $(btn_sel).click();47 }48 ]])49 result={model_name=args.model_name}50 for key,value in pairs(args.kind_dic) do51 sel=string.format('label[data-id=%s]',key)52 click_btn(sel)53 splash:wait(args.wait/2)...
controllers.py
Source:controllers.py
1# -*- coding: utf-8 -*-2from openerp import http3from openerp.addons.web.http import request4class SurveyExtend(http.Controller):5 """extend survey feature"""6 @http.route(['/survey_extend/print/<model("survey.survey"):survey>',7 '/survey_extend/print/<model("survey.survey"):survey>/<string:token>'],8 type='http', auth="public", website=True)9 def view(self, survey, token=None, **post):10 """print survey to pdf11 Arguments:12 survey {[model]} -- survey.survey model13 **post {[dict]} -- other parameter14 Keyword Arguments:15 token {[string]} -- token for this user_line (default: {None})16 Returns:17 [application/pdf] -- print pdf or http status code 40418 """19 if survey:20 if token:21 user_input = survey.user_input_ids.search(22 [('token', '=', token)])23 # user_input = http.request.env['survey.user_input'].search([('token', '=', token)])24 pdf = http.request.env['report'].sudo().with_context(set_viewport_size=True).get_pdf(25 user_input, 'survey_extend.survey_report_user_print')26 else:27 pdf = http.request.env['report'].sudo().with_context(28 set_viewport_size=True).get_pdf(survey, 'survey_extend.survey_report_print')29 pdfhttpheaders = [('Content-Type', 'application/pdf'),30 ('Content-Length', len(pdf))]31 return request.make_response(pdf, headers=pdfhttpheaders)...
report.py
Source:report.py
1# Copyright 2017 Avoin.Systems2# Copyright 2017 Eficent Business and IT Consulting Services, S.L.3# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).4from odoo import api, models5class IrActionsReport(models.Model):6 _inherit = 'ir.actions.report'7 @api.model8 def _build_wkhtmltopdf_args(9 self,10 paperformat_id,11 landscape,12 specific_paperformat_args=None,13 set_viewport_size=False):14 # noinspection PyUnresolvedReferences,PyProtectedMember15 command_args = super(IrActionsReport, self)._build_wkhtmltopdf_args(16 paperformat_id,17 landscape,18 specific_paperformat_args,19 set_viewport_size20 )21 for param in paperformat_id.custom_params:22 command_args.extend([param.name])23 if param.value:24 command_args.extend([param.value])...
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!