前戏

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}

selenium--设置浏览器的位置和高度宽度的更多相关文章

  1. Javascript&Jquery获取浏览器和屏幕各种高度宽度方法总结及运用

    <js篇> Javascript获取浏览器和屏幕各种高度宽度方法总结 document.body.clientWidth       //网页可见区域宽(body) document.bo ...

  2. HTML 获取屏幕、浏览器、页面的高度宽度

    本篇主要介绍Web环境中屏幕.浏览器及页面的高度.宽度信息. 目录 1. 介绍:介绍页面的容器(屏幕.浏览器及页面).物理尺寸与分辨率.展示等内容. 2. 屏幕信息:介绍屏幕尺寸信息:如:屏幕.软件可 ...

  3. Javascript、Jquery获取浏览器和屏幕各种高度宽度(单位都为px)

    Javascript.Jquery获取浏览器和屏幕各种高度宽度 另外参见    http://www.cnblogs.com/top5/archive/2009/05/07/1452135.html ...

  4. Jq_Js_Js、Jq获取浏览器和屏幕各种高度宽度

    $(document).ready(function()         {alert($(window).height()); //浏览器当前窗口可视区域高度alert($(document).he ...

  5. JS、Jquery获取浏览器和屏幕各种高度宽度

    网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body.offsetWidth ...

  6. Selenium 设置浏览器下载 Firefox 和Chrome

    当我们在使用Selenium运行自动化测试时,偶尔需要用到下载功能,但浏览器的下载可能会弹出下载窗口,或者下载路径不是我们想要保存的位置,所以在通过Selenium启动浏览器时需要做相关的设置,将使这 ...

  7. JS、JQUERY 获取浏览器和屏幕各种高度宽度

    好长时间没有更新博客了... 把我最近积累的一点知识点放上博客,以后以备不需之要,也给大家整理一下.. Javascript: IE中:document.body.clientWidth ==> ...

  8. Javascript、Jquery获取浏览器和屏幕各种高度宽度

    Javascript: IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度d ...

  9. Javascript、Jquery获取浏览器和屏幕各种高度宽度[mark]

    Javascript: IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度d ...

随机推荐

  1. MAST 397B: Introduction to Statistical Computing

    MAST 397B: Introduction to Statistical ComputingABSTRACTNotes: (i) This project can be done in group ...

  2. JOSH是中国的“MicroEJ”~

    很多人不了解JOSH,我们推荐大家去看看MicroEJ,我们是中国版的MICROEJ,下面的文章翻译自MICROEJ的官网,让大家直观的了解~ MICROEJ被定位为可连接对象的ANDROID™的小兄 ...

  3. linux开启tcp_timestamps和tcp_tw_recycle引发的问题研究

    环境:centos7.4 内核版本3.10 最近看内核参数tcp_tw_recycle(该参数在内核 4.12 之后被移除),它用于快速回收处理TIME_WAIT状态的socket.搜索该参数相关的资 ...

  4. vue+element 给表格添加数据,页面不实时刷新的问题

    由于页面加载时,使用了keep-alive,keep-alive具有数据缓存作用,当在添加页面添加成功时,返回主页面没有立即更新.数据有缓存. 解决办法如下: 将获取数据列表的方法放到activate ...

  5. c++小学期大作业攻略(二)整体思路+主界面

    写在前面:如果我曾经说过要在第一周之内写完大作业,那……肯定是你听错了.不过如果我在写的时候有攻略看的话应该可以轻松地在4~5天内做完,然后觉得写攻略的人是个小天使吧(疯狂暗示).出于给大家自由发挥的 ...

  6. SQL Inserted 触发器游标结合实例

    SqlServer的Inserted可能是一个集合而不是一条数据,如果有如果需要对插入数据进行处理,有时需要用游标逐条处理 FROM inserted) --插入和更新 declare cur cur ...

  7. Linux启动/停止/重启gitlab

    # Start all GitLab components sudo gitlab-ctl start # Stop all GitLab components sudo gitlab-ctl sto ...

  8. sql server锁表、查询被锁表、解锁被锁表的相关语句

    MSSQL(SQL Server)在我的印象中很容易锁表,大致原因就是你在一个窗口中执行的DML语句没有提交,然后又打开了一个窗口对相同的表进行CRUD操作,这样就会导致锁表.锁表是一种保持数据一致性 ...

  9. WPF DataGrid横向显示

    前言 利用各种变换,将其水平改向至横向显示. 注意的是要固定好单元格的高宽,或者手动编写style 否者在滚动的时候,会有高宽比例不一样的时候 再其次,要注意datagrid的容器或者datagrid ...

  10. 元类理解与元类编程 《Python3网络爬虫开发》中第九章代理的使用代码Crawler中代码的理解

    __new__与__init__的理解 __new__()方法是在创建实例之前被调用的,它的作用是创建一个实例,然后返回该实例对象,它是一个静态方法. __init__() 当实例被创建完成之后被调用 ...