mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
fix: frameElement should work for framesets (#11842)
This commit is contained in:
parent
9add4b4815
commit
c5cee0e37d
@ -425,12 +425,12 @@ export abstract class Frame extends EventEmitter<FrameEvents> {
|
||||
return null;
|
||||
}
|
||||
using list = await parentFrame.isolatedRealm().evaluateHandle(() => {
|
||||
return document.querySelectorAll('iframe');
|
||||
return document.querySelectorAll('iframe,frame');
|
||||
});
|
||||
for await (using iframe of transposeIterableHandle(list)) {
|
||||
const frame = await iframe.contentFrame();
|
||||
if (frame._id === this._id) {
|
||||
return iframe.move();
|
||||
if (frame?._id === this._id) {
|
||||
return (iframe as HandleFor<HTMLIFrameElement>).move();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
@ -647,6 +647,13 @@
|
||||
"parameters": ["firefox"],
|
||||
"expectations": ["SKIP"]
|
||||
},
|
||||
{
|
||||
"testIdPattern": "[frame.spec] Frame specs Frame Management should click elements in a frameset",
|
||||
"platforms": ["darwin", "linux", "win32"],
|
||||
"parameters": ["webDriverBiDi"],
|
||||
"expectations": ["FAIL"],
|
||||
"comment": "New test for framesets. We probably do not want to support framesets in WebDriver BiDi in the long term."
|
||||
},
|
||||
{
|
||||
"testIdPattern": "[frame.spec] Frame specs Frame Management should handle nested frames",
|
||||
"platforms": ["darwin", "linux", "win32"],
|
||||
@ -2195,6 +2202,13 @@
|
||||
"parameters": ["firefox", "webDriverBiDi"],
|
||||
"expectations": ["SKIP"]
|
||||
},
|
||||
{
|
||||
"testIdPattern": "[frame.spec] Frame specs Frame Management should click elements in a frameset",
|
||||
"platforms": ["darwin", "linux", "win32"],
|
||||
"parameters": ["cdp", "firefox"],
|
||||
"expectations": ["FAIL"],
|
||||
"comment": "New test for framesets (does not seem to pass in Firefox CDP)."
|
||||
},
|
||||
{
|
||||
"testIdPattern": "[frame.spec] Frame specs Frame Management should detach child frames on navigation",
|
||||
"platforms": ["darwin", "linux", "win32"],
|
||||
@ -3550,7 +3564,8 @@
|
||||
"testIdPattern": "[oopif.spec] OOPIF should keep track of a frames OOP state",
|
||||
"platforms": ["darwin", "linux", "win32"],
|
||||
"parameters": ["chrome", "webDriverBiDi"],
|
||||
"expectations": ["FAIL"]
|
||||
"expectations": ["SKIP"],
|
||||
"comment": "Failed previously and currently times out"
|
||||
},
|
||||
{
|
||||
"testIdPattern": "[oopif.spec] OOPIF should keep track of a frames OOP state",
|
||||
|
@ -205,6 +205,18 @@ describe('Frame specs', function () {
|
||||
expect(detachedFrames).toHaveLength(4);
|
||||
expect(navigatedFrames).toHaveLength(1);
|
||||
});
|
||||
|
||||
it('should click elements in a frameset', async () => {
|
||||
const {page, server} = await getTestState();
|
||||
await page.goto(server.PREFIX + '/frames/frameset.html');
|
||||
const frame = await page.waitForFrame(frame => {
|
||||
return frame.url().endsWith('/frames/frame.html');
|
||||
});
|
||||
using div = await frame.waitForSelector('div');
|
||||
expect(div).toBeTruthy();
|
||||
await div?.click();
|
||||
});
|
||||
|
||||
it('should report frame from-inside shadow DOM', async () => {
|
||||
const {page, server} = await getTestState();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user