From 74caffc79601e9127dbee7e05af48fc74e48798c Mon Sep 17 00:00:00 2001 From: g1879 Date: Tue, 22 Nov 2022 15:25:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=8E=B7=E5=8F=96=E5=90=8C?= =?UTF-8?q?=E5=9F=9Fiframe=E5=87=BA=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DrissionPage/chromium_element.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/DrissionPage/chromium_element.py b/DrissionPage/chromium_element.py index 3c0c34b..4af9f98 100644 --- a/DrissionPage/chromium_element.py +++ b/DrissionPage/chromium_element.py @@ -11,6 +11,7 @@ from pathlib import Path from re import search from typing import Union, Tuple, List, Any from time import perf_counter, sleep +from urllib.parse import urlparse from pychrome import Tab from requests import Session @@ -1467,7 +1468,12 @@ class ChromiumBase(BasePage): for i in nodeIds['nodeIds']: ele = ChromiumElement(self, node_id=i) if ele.tag in ('iframe', 'frame'): - ele = ChromiumFrame(self, ele) + src = ele.attr('src') + if src: + netloc1 = urlparse(src).netloc + netloc2 = urlparse(self.url).netloc + if netloc1 != netloc2: + ele = ChromiumFrame(self, ele) eles.append(ele) return eles[0] if single else eles