前戏

web自动化的时候,如果你只有一个显示器,这时如果启动了谷歌浏览器,占据了整个显示器,那你肯定是没办法干其他的事情了。当然,你也可以使用phantomjs无头浏览器,那浏览器的兼容性你又不能不测,如果这时候,selenium可以自动设置浏览器的大小,就不会影响你的工作。也不会阻碍自动化的进行

获取浏览器的位置

from selenium import webdriver


def test_window_position():
url = 'http://www.baidu.com'
driver = webdriver.Chrome()
driver.get(url)
# 获取当前浏览器在屏幕上的位置,返回的是字典对象
position = driver.get_window_position()
print(position)
print('当前浏览器所在位置的横坐标:', position['x'])
print('当前浏览器所在位置的纵坐标:', position['y'])


test_window_position()

结果:

{'x': 10, 'y': 10}
当前浏览器所在位置的横坐标: 10
当前浏览器所在位置的纵坐标: 10

说明:

获取的浏览器位置是指浏览器左上角的屏幕上的位置,返回的是x,y坐标值,既横纵坐标

 

设置浏览器的位置

from selenium import webdriver


def test_window_position():
url = 'http://www.baidu.com'
driver = webdriver.Chrome()
driver.get(url)
position = driver.get_window_position()# 设置当前浏览器在屏幕上的位置
driver.set_window_position(y=200, x=400)
print(driver.get_window_position())

test_window_position()

结果:

{'x': 400, 'y': 200}

 

获取浏览器的高度和宽度

from selenium import webdriver

def test_window_size():
url='http://www.baidu.com'
driver=webdriver.Chrome()
driver.get(url)
#获取当前浏览器的高度和宽度,返回的是字典类型
sizeDict=driver.get_window_size()
print(sizeDict)
print('当前浏览器窗口的宽:',sizeDict['width'])
print('当前浏览器窗口的高:',sizeDict['height'])


test_window_size()

结果:

{'width': 1050, 'height': 708}
当前浏览器窗口的宽: 1050
当前浏览器窗口的高: 708

设置浏览器的高度和宽度

from selenium import webdriver

def test_window_size():
url='http://www.baidu.com'
driver=webdriver.Chrome()
driver.get(url)
sizeDict=driver.get_window_size()

# 设置当前浏览器窗口的大小
driver.set_window_size(width=500,height=400,windowHandle='current')
# 设置浏览器窗口大小以后,再次获取浏览器窗口大小信息
print(driver.get_window_size(windowHandle='current'))


test_window_size()

结果:

{'width': 516, 'height': 400}