Closed desoforgit closed 4 days ago
In the original version of Juggler, an internal tree of all frames is kept as they are created/destroyed on the page. Playwright's FrameLocator uses this frame tree to find iframes when frame_locator is called.
However, when Juggler collects frames for its internal FrameTree frame, it creates an execution context within each frame to send input events. Some WAFs are able to detect this. I had no choice but to strip it from Juggler, which is why .click()
fails.
For now, you should be able to evaluate JavaScript on the page to access iframes as you would in a normal browser.
I will be working on a fix to restore FrameLocator functionality through an alternative approach to creating the frame tree.
Fixed in v130.0-beta.5
Reproducible code
The code works with normal firefox/chromium but with camoufox it throws and error
Call log: waiting for frame_locator("iframe[title=\"W3Schools HTML Tutorial\"]").get_by_role("heading", name="HTML Tutorial")