如何使用Selenium Python获取浏览器窗口大小(非外层窗口尺寸)?
在Selenium Python中获取浏览器视口大小
driver.get_window_size()返回的是包含浏览器边框、标题栏的整个应用窗口尺寸,若要获取网页实际显示区域(即你所说的“浏览器窗口大小”),需要通过执行JavaScript来获取视口尺寸:
方法实现
直接执行JS获取window.innerWidth和window.innerHeight属性:
# 获取视口宽度 viewport_width = driver.execute_script("return window.innerWidth;") # 获取视口高度 viewport_height = driver.execute_script("return window.innerHeight;") print(f"浏览器视口大小:{viewport_width}x{viewport_height}")
如果需要封装成复用方法:
def get_viewport_size(driver): width = driver.execute_script("return window.innerWidth;") height = driver.execute_script("return window.innerHeight;") return {"width": width, "height": height} # 调用示例 viewport = get_viewport_size(driver) print(f"视口宽度:{viewport['width']},视口高度:{viewport['height']}")
说明
window.innerWidth和window.innerHeight是原生JavaScript属性,返回的是浏览器中网页内容可显示区域的尺寸,不包含浏览器的工具栏、状态栏、窗口边框等外部元素,这与你提到的Java Selenium中driver.manage().window().getSize()的效果一致。
内容的提问来源于stack exchange,提问作者Adarsh Mishra
相关产品推荐
相关产品推荐

