zoukankan      html  css  js  c++  java
  • selenium操控浏览器

    一、设置浏览器窗口大小
    
    1、最大化
    
    #coding=utf-8
    from selenium import webdriver
    import time
    
    driver = webdriver.Firefox()
    
    driver.get("http://www.baidu.com")
    time.sleep(2)
    
    print "浏览器最大化"
    driver.maximize_window()  #将浏览器最大化显示
    time.sleep(2)
    
    2,设置浏览器固定宽、高(连带测试手机页显示)
    
    最大化还是不够灵活,能不能随意的设置浏览的宽、高显示?当然是可以的。
    
    #coding=utf-8
    from selenium import webdriver
    import time
    
    driver = webdriver.Firefox()
    
    driver.get("http://m.mail.10086.cn")
    time.sleep(2)
    
    print "设置浏览器宽480、高800显示"
    driver.set_window_size(480, 800)  #参数数字为像素点
    time.sleep(3)
    driver.quit()
    
    这个需求也还是有的,比如我们通过PC浏览器在访问一下手机网站时,调整浏览器为手机屏幕的宽、高,容易发现一些显示问题。(上面的手机邮箱网站就是笔者测试过的一个产品)
    
    3、手机模式
    
    第一种方法是通过device name来指定要模拟的手机
    
    from selenium import webdriver
    
    mobileEmulation = {'deviceName': 'iPhone X'}
    options = webdriver.ChromeOptions()
    options.add_experimental_option('mobileEmulation', mobileEmulation)
    
    driver = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=options)
    driver.get('http://m.baidu.com')
    driver.close()
     第二种方法  
    
    第二种方法是通过分辨率以及UA标识指定要模拟的手机
    
    from selenium import webdriver
    
    WIDTH = 320
    HEIGHT = 640
    PIXEL_RATIO = 3.0
    UA = 'Mozilla/5.0 (Linux; Android 4.1.1; GT-N7100 Build/JRO03C) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/35.0.1916.138 Mobile Safari/537.36 T7/6.3'
    
    mobileEmulation = {"deviceMetrics": {"width": WIDTH, "height": HEIGHT, "pixelRatio": PIXEL_RATIO}, "userAgent": UA}
    options = webdriver.ChromeOptions()
    options.add_experimental_option('mobileEmulation', mobileEmulation)
    
    driver = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=options)
    driver.get('http://m.baidu.com')
    
    三、操控浏览器前进、后退
    
    浏览器上有一个后退、前进按钮,对于浏览网页的人是比较方便的;对于做web自动化测试的同学来说应该算是一个比较难模拟的问题;其实很简单,下面看看python的实现方式:
    
    #coding=utf-8
    from selenium import webdriver
    import time
    
    driver = webdriver.Firefox()
    
    #访问百度首页
    first_url= 'http://www.baidu.com'
    print "now access %s" %(first_url)
    driver.get(first_url)
    time.sleep(2)
    
    #访问新闻页面
    second_url='http://news.baidu.com'
    print (now access %s" %(second_url))
    driver.get(second_url)
    time.sleep(2)
    
    #返回(后退)到百度首页
    print "back to  %s "%(first_url)
    driver.back()
    time.sleep(1)
    
    #前进到新闻页
    print "forward to  %s"%(second_url)
    driver.forward()
    time.sleep(2)
    
    driver.quit()
  • 相关阅读:
    分苹果
    马拉车算法(求最长回文子串)
    KMP
    字典树
    关于子类和父类中的this的用法
    最长上生子序列LIS
    sass
    黑马程序员----java基础笔记下(毕向东)
    DOM
    ajax教程
  • 原文地址:https://www.cnblogs.com/minghong/p/10966088.html
Copyright © 2011-2022 走看看