Open
Description
from patchright.sync_api import sync_playwright, expect
def main():
with sync_playwright() as pw:
browser = pw.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.goto("https://www.vseinstrumenti.ru/search/?what=23850765")
locator = page.locator("h1[data-qa='get-product-title']").or_(
page.locator("span", has_text="Перейти в каталог").or_(
page.locator("div.captcha-img")
)
)
expect(locator.first).to_be_visible(timeout=10000)
traceback:
File "D:\projects\python\vseinstrumenti\grabber\.venv\Lib\site-packages\patchright\_impl\_connection.py", line 478, in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
patchright._impl._errors.Error: LocatorAssertions.to_be_visible: Error: Can't query n-th element
at Frame._customFindElementsByParsed (D:\projects\python\vseinstrumenti\grabber\.venv\Lib\site-packages\patchright\driver\package\lib\server\frames.js:1667:17)
at async D:\projects\python\vseinstrumenti\grabber\.venv\Lib\site-packages\patchright\driver\package\lib\server\frames.js:1057:34
at async Frame.retryWithProgressAndTimeouts (D:\projects\python\vseinstrumenti\grabber\.venv\Lib\site-packages\patchright\driver\package\lib\server\frames.js:1003:24)
at async Frame._expectInternal (D:\projects\python\vseinstrumenti\grabber\.venv\Lib\site-packages\patchright\driver\package\lib\server\frames.js:1392:21)
at async D:\projects\python\vseinstrumenti\grabber\.venv\Lib\site-packages\patchright\driver\package\lib\server\frames.js:1354:18
at async ProgressController.run (D:\projects\python\vseinstrumenti\grabber\.venv\Lib\site-packages\patchright\driver\package\lib\server\progress.js:80:22)
at async Frame._expectImpl (D:\projects\python\vseinstrumenti\grabber\.venv\Lib\site-packages\patchright\driver\package\lib\server\frames.js:1353:31)
at async Frame.expect (D:\projects\python\vseinstrumenti\grabber\.venv\Lib\site-packages\patchright\driver\package\lib\server\frames.js:1337:20)
at async FrameDispatcher.expect (D:\projects\python\vseinstrumenti\grabber\.venv\Lib\site-packages\patchright\driver\package\lib\server\dispatchers\frameDispatcher.js:218:20)
at async LongStandingScope._race (D:\projects\python\vseinstrumenti\grabber\.venv\Lib\site-packages\patchright\driver\package\lib\utils\isomorphic\manualPromise.js:95:14)
Call log:
- LocatorAssertions.to_be_visible with timeout 10000ms
3 × waiting for locator("h1[data-qa='get-product-title']").or_(locator("span").filter(has_text="Перейти в каталог").or_(locator("div.captcha-img"))).first
But if I use a standard playwright, there will be no such error.
Metadata
Metadata
Assignees
Labels
No labels