Best Python code snippet using playwright-python
test_defaultbrowsercontext.py
Source:test_defaultbrowsercontext.py
...295 page3 = await browser_context3.new_page()296 await page3.goto(server.EMPTY_PAGE)297 assert await page3.evaluate("() => document.cookie") != "doSomethingOnlyOnce=true"298 await browser_context3.close()299async def test_should_have_default_url_when_launching_browser(launch_persistent):300 (page, context) = await launch_persistent()301 urls = list(map(lambda p: p.url, context.pages))302 assert urls == ["about:blank"]303@pytest.mark.skip_browser("firefox")304async def test_should_throw_if_page_argument_is_passed(305 browser_type, server, tmpdir, launch_arguments306):307 options = {**launch_arguments, "args": [server.EMPTY_PAGE]}308 with pytest.raises(Error) as exc:309 await browser_type.launch_persistent_context(tmpdir, **options)310 assert "can not specify page" in exc.value.message311async def test_should_fire_close_event_for_a_persistent_context(launch_persistent):312 (page, context) = await launch_persistent()313 fired_event = asyncio.Future()...
test_headful.py
Source:test_headful.py
...12# See the License for the specific language governing permissions and13# limitations under the License.14import pytest15from flaky import flaky16async def test_should_have_default_url_when_launching_browser(17 browser_type, launch_arguments, tmpdir18):19 browser_context = await browser_type.launch_persistent_context(20 tmpdir, **{**launch_arguments, "headless": False}21 )22 urls = [page.url for page in browser_context.pages]23 assert urls == ["about:blank"]24 await browser_context.close()25async def test_headless_should_be_able_to_read_cookies_written_by_headful(26 browser_type, launch_arguments, server, tmpdir, is_chromium, is_win27):28 if is_chromium and is_win:29 pytest.skip("see https://github.com/microsoft/playwright/issues/717")30 return...
Python playwright - existing browser and variable in function
Download currnet image with python playwright
TikTokApi Problem with Selenium (width) on Colab
How to get outer html from python playwright locator object?
In Playwright for Python, how do I get elements relative to ElementHandle (children, parent, grandparent, siblings)?
How can I handle the wait_for_selector function's TimeoutError in Playwright-python?
python playwright - issues with typing inside the input fields
How to check response in Playwright
How do you move mouse with Playwright Python?
Python async Playwright pass data outside function
Here's how to initialize playwright browser globally without context managers.
In your particular code, this will work like below:
from playwright.sync_api import Playwright, sync_playwright
locationList = [
'London Luton Airport',
'London Hilton',
'London City',
'London Wembley',
'London Battersea',
'London Shepherds Bush'
]
playwright = sync_playwright().start() # <-- Use this to initialize playwright globally
chromium = playwright.chromium
browser = chromium.launch(channel="chrome", headless=False)
page = browser.new_page()
page.set_viewport_size({"width": 1920, "height": 1080})
page.goto("https://www.sixt.co.uk/")
page.locator("[data-testid=\"uc-accept-all-button\"]").click()
page.locator("[placeholder=\"Find a location\"]").click()
page.locator("[placeholder=\"Find a location\"]").fill("luton")
page.locator("text=London Luton Airport (GB)").click()
page.locator("button:has-text(\"Show offers\")").click()
def run(playwright: Playwright):
page.locator("[placeholder=\"Find a location\"]").click()
page.locator("[placeholder=\"Find a location\"]").fill(loc)
page.locator('//div[text()="' + loc + '"]').click()
carnames = page.locator("//h2[@class='vehicle-item__title']")
#Get all carnames in a list
carnamelist = [cars.text for cars in carnames]
for loc in locationList:
run(playwright)
playwright.stop() # --> Cleanup resources properly when done
However, you can also initialize page
and browser
from inside the context manager you create in the original question, and it will work as expected.
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!!