Quantcast
Channel: Recent Questions - Stack Overflow
Viewing all articles
Browse latest Browse all 11571

Click the button using playwright

$
0
0

I have a problem with playwright using python for automation, when I manipulate a button on the website, i had a problem, because it gives me an error, first I will show the code in Python

button = page.locator("button.p-ripple").first()button.click()

In this case, I want to press this button, it is inside a p button, apparently an element used in Angular. I'm calling this method inside the function I created that has page as a parameter, and in this case I use the function inside main

This is the result when selecting the element from the DOM

document.querySelectorAll("button.p-ripple")result -> NodeList [ button.p-button.p-component.p-ripple ]

This is the result right after placing the indexing, it finds the element

document.querySelectorAll("button.p-ripple")[0]result -> <button class="p-button p-component p-ripple" pripple="" type="button">

I wanted to do the same with playwright using python, but neither first() nor nth(index) work for me, this error appears

'Locator' object is not callableFile "/file.py", line 84, in function_pythonbutton = page.locator("button.p-ripple").first()^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/file.py", line 133, in mainfunction_python(page)File "/file.py", line 140, in main()TypeError: 'Locator' object is not callable

(on line 84 is where the locator is, on line 133 is where the function I created within the main function is located, its function is to call the browser page, on line 140 is the main function that I call in the initializer)

from playwright.sync_api import sync_playwrightdef main():    with sync_playwright() as playwright:        firefox = playwright.firefox        browser = firefox.launch(headless=False)        context = browser.new_context()        timeout = 60000        page = context.new_page()        page.set_default_navigation_timeout(timeout)        page.set_default_timeout(timeout)        login(page)        function_python(page)        browser.close()if __name__ == "__main__":    main()

Where do I instantiate page and initialize main

This is element

<lib-pesquisa _nghost-hbk-c66=""><div _ngcontent-hbk-c66="" class="p-d-flex p-12 p-mb-3"><button _ngcontent-hbk-c66="" icon="pi pi-plus" label="Button1" pbutton="" type="button" class="p-button-success p-button p-component"><span class="p-button-icon p-button-icon-left pi pi-plus" aria-hidden="true"></span><span class="p-button-label">Button1</span></button><p-button _ngcontent-hbk-c66="" icon="pi pi-search" label="Button2" class="p-ml-3"><button pripple="" type="button" class="p-button p-component p-ripple"><!----><span class="pi pi-search p-button-icon p-button-icon-left ng-star-inserted" aria-hidden="true"></span><!----><span class="p-button-label" aria-hidden="false">Button2</span><!----></button></p-button></div><p-dialog _ngcontent-hbk-c66="" header="Button2" class="ng-tns-c62-1"><!----></p-dialog></lib-pesquisa>

Button I want to click

<button pripple="" type="button" class="p-button p-component p-ripple"><!----><span class="pi pi-search p-button-icon p-button-icon-left ng-star-inserted" aria-hidden="true"></span><!----><span class="p-button-label" aria-hidden="false">Button2</span><!----></button>

Viewing all articles
Browse latest Browse all 11571

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>