diff --git a/DrissionPage/driver_page.py b/DrissionPage/driver_page.py index 75260ca..9ec196d 100644 --- a/DrissionPage/driver_page.py +++ b/DrissionPage/driver_page.py @@ -385,6 +385,13 @@ class DriverPage(BasePage): tab = self.driver.window_handles[tab] if isinstance(tab, int) else tab self.driver.switch_to.window(tab) + def set_ua_to_tab(self, ua: str) -> None: + """为当前tab设置user agent,只在当前tab有效 \n + :param ua: user agent字符串 + :return: None + """ + self.driver.execute_cdp_cmd("Network.setUserAgentOverride", {"userAgent": ua}) + def screenshot(self, path: str, filename: str = None) -> str: """截取页面可见范围截图 \n :param path: 保存路径 diff --git a/DrissionPage/mix_page.py b/DrissionPage/mix_page.py index fb5fbf2..28e4319 100644 --- a/DrissionPage/mix_page.py +++ b/DrissionPage/mix_page.py @@ -37,7 +37,7 @@ class MixPage(SessionPage, DriverPage, BasePage): session_options: Union[dict, SessionOptions, bool] = None) -> None: """初始化函数 \n :param mode: 'd' 或 's',即driver模式和session模式 - :param drission: Drission对象,不传入时会自动创建 + :param drission: Drission对象,不传入时会自动创建,有传入时driver_options和session_options参数无效 :param timeout: 超时时间,d模式时为寻找元素时间,s模式时为连接时间,默认10秒 :param driver_options: 浏览器设置,没传入drission参数时会用这个设置新建Drission对象中的WebDriver对象,传入False则不创建 :param session_options: requests设置,没传入drission参数时会用这个设置新建Drission对象中的Session对象,传入False则不创建 diff --git a/docs/使用方法/创建页面对象.md b/docs/使用方法/创建页面对象.md index 320bc5a..e9af9f5 100644 --- a/docs/使用方法/创建页面对象.md +++ b/docs/使用方法/创建页面对象.md @@ -16,6 +16,9 @@ - driver_options:浏览器设置,没传入`drission`参数时会用这个设置新建`Drission`对象中的`WebDriver`对象,传入`False`则不创建 - session_options:requests 设置,没传入`drission`参数时会用这个设置新建`Drission`对象中的`Session`对象,传入`False`则不创建 +!> **注意:**
+有传入`drission`参数时,`driver_options`和`session_options`参数无效 + # 直接创建 这种方式代码最简洁,程序会从配置文件中读取配置,自动生成页面对象。可以保持代码简洁。