Best Python code snippet using playwright-python
views.py
Source: views.py
...36def notary_req(request):37 """"show datacap request record """38 page_index = request.POST.get('page_index', '1')39 page_size = request.POST.get('page_size', '5')40 page_size = interface.handle_page(page_size, 5)41 page_index = interface.handle_page(page_index, 1)42 name = request.POST.get('name').strip('')43 msg_code, msg_data = interface.get_notary_req(name=name)44 total = len(msg_data)45 msg_data = msg_data[(page_size * (page_index - 1)):page_size * page_index]46 return format_return(msg_code, data={'data': msg_data, 'total': total})47@common_ajax_response48@lang_translate49def query_msg(request):50 """get msg details"""51 msg_cid = request.POST.get('msg_cid')52 msg_code, msg_data = interface.query_msg(msg_cid=msg_cid)53 return format_return(msg_code, data=msg_data)54@common_ajax_response55@lang_translate56def provider_info_basic_info(request):57 """basic info of provider info"""58 provider_id = request.POST.get('provider_id')59 msg_code, msg_data = interface.get_provider_info_basic_info(provider_id=provider_id)60 return format_return(msg_code, data=msg_data)61@common_ajax_response62@lang_translate63def provider_info_order_stat(request):64 """order stat of provider info"""65 page_index = request.POST.get('page_index')66 page_size = request.POST.get('page_size')67 page_size = interface.handle_page(page_size, 5)68 page_index = interface.handle_page(page_index, 1)69 provider_id = request.POST.get('provider_id')70 msg_code, msg_data1, msg_data2 = interface.get_provider_info_order_stat(provider_id=provider_id)71 msg_data1 = msg_data1[(page_size * (page_index - 1)):page_size * page_index]72 msg_data2 = msg_data2[(page_size * (page_index - 1)):page_size * page_index]73 return format_return(msg_code, data={'time': msg_data1, 'data': msg_data2})74@common_ajax_response75@lang_translate76def provider_info_order_details_list(request):77 """order details list of provider info"""78 page_index = request.POST.get('page_index')79 page_size = request.POST.get('page_size')80 page_size = interface.handle_page(page_size, 5)81 page_index = interface.handle_page(page_index, 1)82 provider_id = request.POST.get('provider_id')83 msg_code, msg_data = interface.get_provider_info_order_details_list(provider_id=provider_id)84 total = len(msg_data)85 msg_data = msg_data[(page_size * (page_index - 1)):page_size * page_index]86 return format_return(msg_code, data={'data': msg_data, 'total': total})87@common_ajax_response88@lang_translate89def provider_info_client_list(request):90 """client list of provider info"""91 page_index = request.POST.get('page_index')92 page_size = request.POST.get('page_size')93 page_size = interface.handle_page(page_size, 5)94 page_index = interface.handle_page(page_index, 1)95 provider_id = request.POST.get('provider_id')96 msg_code, msg_data = interface.get_provider_info_client_list(provider_id=provider_id)97 total = len(msg_data)98 msg_data = msg_data[(page_size * (page_index - 1)):page_size * page_index]99 return format_return(msg_code, data={'data': msg_data, 'total': total})100@common_ajax_response101@lang_translate102def new_seven_data(request):103 """data in a week"""104 msg_code, msg_data = interface.get_new_seven_data()105 return format_return(msg_code, data=msg_data)106@common_ajax_response107@lang_translate108def get_name(request):109 """get the notary and client name"""110 data = interface.get_name_list()111 return format_return(0, data=data)112@common_ajax_response113@lang_translate114def distribution_data(request):115 """show the distribution data"""116 msg_code, msg_data = interface.distribution_data()117 return format_return(msg_code, data=msg_data)118@common_ajax_response119@lang_translate120def notary_distribution_data(request):121 """show the distribution data of notary"""122 notary_list = request.POST.get('notary_list')123 msg_code, msg_data = interface.notary_distribution_data(notary_list=None)124 return format_return(msg_code, data=msg_data)125@common_ajax_response126@lang_translate127def handle_efficiency(request):128 """show the efficiency of handling datacap request """129 notary_list = request.POST.get('notary_list')130 msg_code, msg_data = interface.get_handle_efficiency(notary_list=notary_list)131 return format_return(msg_code, data=msg_data)132@common_ajax_response133@lang_translate134def notary_handle_efficiency_borad(request):135 """handling data request board"""136 page_index = request.POST.get('page_index')137 page_size = request.POST.get('page_size')138 sort_type = request.POST.get('sort_type')139 page_size = interface.handle_page(page_size, 5)140 page_index = interface.handle_page(page_index, 1)141 msg_data = interface.get_handle_efficiency_borad()142 msg_code, msg_data = interface.get_handle_efficiency_borad_sort(sort_type=sort_type, data=msg_data)143 if msg_code != 0:144 return format_return(msg_code)145 length = len(msg_data)146 msg_data = msg_data[(page_size * (page_index - 1)):page_size * page_index]147 return format_return(msg_code, data={'data': msg_data, 'length': length})148@common_ajax_response149@lang_translate150def request_borad(request):151 """show datacap request board"""152 page_index = request.POST.get('page_index')153 page_size = request.POST.get('page_size')154 sort_type = request.POST.get('sort_type')155 page_size = interface.handle_page(page_size, 5)156 page_index = interface.handle_page(page_index, 1)157 msg_data = interface.get_request_borad()158 msg_code, msg_data = interface.get_request_borad_sort(data=msg_data, sort_type=sort_type)159 if msg_code != 0:160 return format_return(msg_code)161 length = len(msg_data)162 msg_data = msg_data[(page_size * (page_index - 1)):page_size * page_index]163 return format_return(msg_code, data={'data': msg_data, 'length': length})164@common_ajax_response165@lang_translate166def provider_borad(request):167 """show the provider board"""168 page_index = request.POST.get('page_index')169 page_size = request.POST.get('page_size')170 sort_type = request.POST.get('sort_type')171 page_size = interface.handle_page(page_size, 5)172 page_index = interface.handle_page(page_index, 1)173 msg_data = interface.get_provider_borad()174 msg_code, msg_data = interface.get_provider_borad_sort(sort_type=sort_type, data=msg_data)175 if msg_code != 0:176 return format_return(msg_code)177 length = len(msg_data)178 msg_data = msg_data[(page_size * (page_index - 1)):page_size * page_index]179 return format_return(0, data={'data': msg_data, 'length': length})180@common_ajax_response181@lang_translate182def user_info(request):183 """show the user info"""184 address = request.POST.get('address')185 msg_code, msg_data = interface.get_user_info(address=address)186 return format_return(msg_code, data=msg_data)187@common_ajax_response188@lang_translate189def assumption_details(request):190 """show the details of assumption"""191 address = request.POST.get('address')192 page_index = request.POST.get('page_index', '1')193 page_size = request.POST.get('page_size', '5')194 page_size = interface.handle_page(page_size, 5)195 page_index = interface.handle_page(page_index, 1)196 msg_code, msg_data = interface.get_assumption_details(address=address)197 obj = Page(msg_data, page_size).page(page_index)198 data_list = []199 for i in obj.get('objects'):200 data_list.append({201 'deal_id': i.deal_id,202 'height_time': i.height_time.strftime('%Y-%m-%d %H:%M:%S'),203 'provider_id': i.provider_id,204 'file_size': i.file_size,205 })206 return format_return(0, data={"objs": data_list, "total_page": obj.get('total_page'),207 "total_count": obj.get('total_count')})208@common_ajax_response209@lang_translate210def request_records(request):211 """show the datacap request records"""212 address = request.POST.get('address')213 page_index = request.POST.get('page_index', '1')214 page_size = request.POST.get('page_size', '5')215 page_size = interface.handle_page(page_size, 5)216 page_index = interface.handle_page(page_index, 1)217 msg_code, msg_data = interface.request_record(address=address)218 obj = Page(msg_data, page_size).page(page_index)219 data_list = []220 for i in obj.get('objects'):221 msg_cid = i.msg_cid222 assignee = i.assignee223 comments_url = i.comments_url224 data_list.append({225 'assignee': assignee,226 'created_at': i.created_at.strftime('%Y-%m-%d %H:%M:%S') if i.created_at else i.created_at,227 'region': i.region,228 'request_datacap': i.request_datacap,229 'status': i.status,230 'allocated_datacap': i.allocated_datacap,...
base.py
Source: base.py
...29import lxml.html30class Spatula:31 """ mixin for scrapelib.Scraper """32 def scrape_page_items(self, page_type, url=None, **kwargs):33 yield from page_type(self, url=url, **kwargs).handle_page()34 def scrape_page(self, page_type, url=None, obj=None, **kwargs):35 return page_type(self, url=url, obj=obj, **kwargs).handle_page()36class NoListItems(Exception):37 pass38class AbstractPage:39 def __init__(self, scraper, url=None, *, obj=None, **kwargs):40 self.scraper = scraper41 if url:42 self.url = url43 self.obj = obj44 self.kwargs = kwargs45class Page(AbstractPage):46 def __init__(self, scraper, url=None, *, obj=None, **kwargs):47 super().__init__(scraper, url=url, obj=obj, **kwargs)48 resp = self.do_request()49 self.doc = lxml.html.fromstring(resp.text)50 self.doc.make_links_absolute(self.url)51 def do_request(self):52 return self.scraper.get(self.url)53 def scrape_page_items(self, page_type, url=None, **kwargs):54 """55 creates an instance of ``page_type`` and returns an iterable of56 scraped items57 """58 yield from page_type(self.scraper, url=url, **kwargs).handle_page()59 def scrape_page(self, page_type, url=None, obj=None, **kwargs):60 """61 creates an instance of ``page_type`` that knows about an object62 being built (``obj``)63 """64 return page_type(self.scraper, url=url, obj=obj, **kwargs).handle_page()65 def handle_list_item(self, item):66 """67 override handle_list_item for scrapers that iterate over68 return values69 """70 raise NotImplementedError()71 def handle_page(self):72 n = 073 for item in self.doc.xpath(self.list_xpath):74 n += 175 processed = self.handle_list_item(item)76 if processed:77 if hasattr(processed, '__iter__'):78 yield from processed79 else:80 yield processed81 # if not n:82 # raise NoListItems('no matches for {} on {}'.format(self.list_xpath, self.url))83class PDF(AbstractPage):84 pdftotext_type = 'text'85 def __init__(self, scraper, url=None, *, obj=None, **kwargs):...
test_pagination.py
Source: test_pagination.py
...53 p = Pagination(ls[:50], len(ls), 1, 50)54 self.assertEqual(p.last_page, 20)55 p = Pagination(ls[:50], len(ls), 1, 100)56 self.assertEqual(p.last_page, 10)57 def test_handle_page(self):58 """Check the handle_page function, this is important as it stops Redis59 going crazy if the index is too high on a list or sorted set.60 """61 # Create a mock request object so that this functon does not require62 # a request. It gets a request object passed in.63 class Request(object):64 args = {}65 request = Request()66 # Check a couple of values67 self.assertEqual(handle_page(request), 1)68 request.args['page'] = 100000069 self.assertEqual(handle_page(request), 1000000)70 # Ensure our minimum value can't be broken71 request.args['page'] = -172 self.assertEqual(handle_page(request), 1)73 # Ensure the maximum value (4294967295) can't be broken74 request.args['page'] = 100000000000075 self.assertEqual(handle_page(request), 4294967295)76 # Ensure it does not brake with invalid types77 request.args['page'] = None78 self.assertEqual(handle_page(request), 1)79 request.args['page'] = {}...
builder.py
Source: builder.py
...30 'genindexcounts': indexcounts,31 'split_index': self.config.html_split_index,32 }33 if self.config.html_split_index:34 self.handle_page('genindex', genindexcontext,35 'genindex-split.html')36 self.handle_page('genindex-all', genindexcontext,37 'genindex.html')38 for (key, entries), count in zip(genindex, indexcounts):39 ctx = {'key': key, 'entries': entries, 'count': count,40 'genindexentries': genindex}41 self.handle_page('genindex-' + key, ctx,42 'genindex-single.html')43 else:44 self.handle_page('genindex', genindexcontext, 'genindex.html')45def add_custom_jinja2(app) -> None:46 env = app.builder.templates.environment47 env.tests['prefixedwith'] = str.startswith48 env.tests['suffixedwith'] = str.endswith49def add_builders(app) -> None:50 """This is necessary because RTD injects their own for some reason."""51 app.set_translator('html', DPYHTML5Translator, override=True)52 app.add_builder(DPYStandaloneHTMLBuilder, override=True)53 try:54 original = app.registry.builders['readthedocs']55 except KeyError:56 pass57 else:58 injected_mro = tuple(base if base is not StandaloneHTMLBuilder else DPYStandaloneHTMLBuilder...
Playwright error connection refused in docker
playwright-python advanced setup
How to select an input according to a parent sibling label
Error when installing Microsoft Playwright
Trouble waiting for changes to complete that are triggered by Python Playwright `select_option`
Capturing and Storing Request Data Using Playwright for Python
Can Playwright be used to launch a browser instance
Trouble in Clicking on Log in Google Button of Pop Up Menu Playwright Python
Scrapy Playwright get date by clicking button
React locator example
I solved my problem. In fact my docker container (frontend) is called "app" which is also domain name of fronend application. My application is running locally on http. Chromium and geko drivers force httpS connection for some domain names one of which is "app". So i have to change name for my docker container wich contains frontend application.
Check out the latest blogs from LambdaTest on this topic:
The sky’s the limit (and even beyond that) when you want to run test automation. Technology has developed so much that you can reduce time and stay more productive than you used to 10 years ago. You needn’t put up with the limitations brought to you by Selenium if that’s your go-to automation testing tool. Instead, you can pick from various test automation frameworks and tools to write effective test cases and run them successfully.
When it comes to web automation testing, there are a number of frameworks like Selenium, Cypress, PlayWright, Puppeteer, etc., that make it to the ‘preferred list’ of frameworks. The choice of test automation framework depends on a range of parameters like type, complexity, scale, along with the framework expertise available within the team. However, it’s no surprise that Selenium is still the most preferred framework among developers and QAs.
Playwright is a framework that I’ve always heard great things about but never had a chance to pick up until earlier this year. And since then, it’s become one of my favorite test automation frameworks to use when building a new automation project. It’s easy to set up, feature-packed, and one of the fastest, most reliable frameworks I’ve worked with.
The speed at which tests are executed and the “dearth of smartness” in testing are the two major problems developers and testers encounter.
With the rapidly evolving technology due to its ever-increasing demand in today’s world, Digital Security has become a major concern for the Software Industry. There are various ways through which Digital Security can be achieved, Captcha being one of them.Captcha is easy for humans to solve but hard for “bots” and other malicious software to figure out. However, Captcha has always been tricky for the testers to automate, as many of them don’t know how to handle captcha in Selenium or using any other test automation framework.
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!!