python3 selenium 浏览器窗口处理

背景

selenium webdriver提供了几个处理浏览器窗口的方法,包含设置和获取窗口大小,位置。以下为总结。

webdriver提供的方法:

# 获取浏览器窗口大小,返回值是一个包含长和宽属性的字典。
get_window_size(windowHandle='current')

# 设置浏览器窗口大小
set_window_size(width, height, windowHandle='current')

# 返回浏览器窗口的位置,返回值是个包含xy坐标的字典
get_window_position(windowHandle='current')

# 设置浏览器窗口的位置,相当于拖动浏览器窗口
set_window_position(x, y, windowHandle='current')

# 获取浏览器窗口的大小和位置,相当于上面两个方法的并集。返回值是一个包含大小、坐标的字典。
get_window_rect()

# 设置浏览器窗口的大小和位置,相当于上面两个方法的并集。
set_window_rect(x=None, y=None, width=None, height=None)

示例程序:

from selenium import webdriver
from selenium.webdriver.support.select import Select
from time import sleep

chrome_driver = r'D:\Python3.7\Lib\site-packages\selenium\webdriver\chrome\chromedriver.exe'
driver = webdriver.Chrome(executable_path = chrome_driver)
driver.implicitly_wait(10)
driver.maximize_window()
ulr = r'http://www.baidu.com'
driver.get( ulr )

# ==============================================
# window_size
# ==============================================

print(driver.get_window_size())
driver.set_window_size(800, 600)
print(driver.get_window_size())

# ==============================================
# window_position
# ==============================================
print(driver.get_window_position())
driver.set_window_position(200,400)
print(driver.get_window_position())

# ==============================================
# window_rect
# ==============================================

print(driver.get_window_rect())
driver.set_window_rect(x=10, y=20, width=1000, height=800)
print(driver.get_window_rect())

sleep(1)
driver.quit()

'''
stdout:
===============================================================
{'width': 1744, 'height': 1128}
{'width': 802, 'height': 602}
{'x': 8, 'y': 8}
{'x': 200, 'y': 400}
{'height': 603, 'width': 803, 'x': 200, 'y': 400}
{'height': 800, 'width': 1002, 'x': 9, 'y': 20}
[Finished in 16.4s]
===============================================================
'''

总结

这几个方法,模拟了人工操作浏览器时,对浏览器的放大,缩小,拖动等行为。
当然,webdriver还提供了最大化、最小化窗口的方法。

webdriver.minimize_window() #最小化窗口
webdriver.maximize_window() #最大化窗口
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值