From 73ec708626b68c76dc2f2c565ecbde77bf918f82 Mon Sep 17 00:00:00 2001 From: plonknimbuzz Date: Sun, 2 Jun 2024 04:05:38 +0700 Subject: [PATCH 1/3] fix frame missing from webelement type --- README.md | 5 +++-- src/selenium_driverless/types/webelement.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a26a91e..f620326 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ async def target_1_handler(target): async def target_2_handler(target): await target.get("about:blank") - await target.execute_script(script=read("/files/js/show_mousemove.js")) + await target.execute_script(await script=read("/files/js/show_mousemove.js")) await target.pointer.move_to(500, 500, total_time=2) @@ -224,7 +224,8 @@ move_kwargs = {"total_time": 0.7, "accel": 2, "smooth_soft": 20} await pointer.move_to(100, 500) await pointer.click(500, 50, move_kwargs=move_kwargs, move_to=True) ``` -### Iframes +### Iframes / Frames +due `swtich_to.frame()` is deprecated, use this instead ```python iframes = await driver.find_elements(By.TAG_NAME, "iframe") diff --git a/src/selenium_driverless/types/webelement.py b/src/selenium_driverless/types/webelement.py index 1c17566..449c41a 100644 --- a/src/selenium_driverless/types/webelement.py +++ b/src/selenium_driverless/types/webelement.py @@ -200,7 +200,7 @@ async def content_document(self): **async** gets the document of the iframe """ _desc = await self._describe() - if _desc.get("localName") == "iframe": + if _desc.get("localName") in ["iframe","frame"]: node = _desc.get("contentDocument") if node: frame_id = _desc.get("frameId") From 8a3985eab02365ef74d498aea0705087494abdeb Mon Sep 17 00:00:00 2001 From: kaliiiiiiiiiii <89038706+kaliiiiiiiiii@users.noreply.github.com> Date: Sat, 1 Jun 2024 23:17:36 +0200 Subject: [PATCH 2/3] Update README.md fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f620326..077a6bc 100644 --- a/README.md +++ b/README.md @@ -225,7 +225,7 @@ await pointer.move_to(100, 500) await pointer.click(500, 50, move_kwargs=move_kwargs, move_to=True) ``` ### Iframes / Frames -due `swtich_to.frame()` is deprecated, use this instead +due `swtich_to.frame()` being deprecated for driverless, use this instead ```python iframes = await driver.find_elements(By.TAG_NAME, "iframe") From 19a935d9591da40276840baa6cc0455e3f2e10c1 Mon Sep 17 00:00:00 2001 From: kaliiiiiiiiiii <89038706+kaliiiiiiiiii@users.noreply.github.com> Date: Sat, 1 Jun 2024 23:19:38 +0200 Subject: [PATCH 3/3] Update webelement.py update docstring --- src/selenium_driverless/types/webelement.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/selenium_driverless/types/webelement.py b/src/selenium_driverless/types/webelement.py index 449c41a..c7166c7 100644 --- a/src/selenium_driverless/types/webelement.py +++ b/src/selenium_driverless/types/webelement.py @@ -197,7 +197,7 @@ async def __frame_id__(self) -> int: @property async def content_document(self): """ - **async** gets the document of the iframe + **async** gets the contentDocument element of the iframe (or frame). Returns None if this isn't an iframe. """ _desc = await self._describe() if _desc.get("localName") in ["iframe","frame"]: