• selenium (二) 浏览器的基本操作


    在上一篇中,已经介绍过selenium的元素定位,下面介绍一下,
    webdriver对浏览器的操作:

    以下内容取自selenium/webdriver/remote/webdriver中的属性和方法

    获取浏览器标题:
    driver.title


    获取当前浏览器的url地址:
    driver.current_url


    获取当前页面的源码:
    driver.page_source
    这个属性其实挺有用的,不管是在web自动化,还是app自动化。
    特别是在app页面,可以将页面源码下载下来定位元素


    获取当前窗口的handler,用于判断或切换浏览器窗口(主要作用于主-子窗口)
    driver.current_window_handle


    获取浏览器的所有窗口handler,可以用来切换窗口(主要作用于主-子窗口)
    driver.window_handles


    获取浏览器名称:
    driver.name


    以下是对浏览器的操作方法:


    关闭窗口:
    driver.close()


    退出driver驱动并关闭窗口:
    driver.quit()

    将当前窗口最大化:
    driver.maximize_window()

    将当前窗口最小化:
    driver.minimize_window()


    设置窗口指定的大小:
    driver.set_window_size(800,600)


    将浏览器进行全屏,类似于按下F11效果一致:
    driver.fullscreen_window()


    切换浏览器窗口,以driver.window_handles列表中的值作为参数
    driver.switch_to_window()


    返回退回上一步:
    driver.back()


    前进下一步:
    driver.forward()


    刷新当前页面:
    driver.refersh()


    设置隐式等待时间,单位:秒
    driver.implicitly_wait()

    保存截屏图片
    driver.get_screenshot_as_file('/Screenshots/test_case01.png')
    driver.save_screenshot('/Screenshots/test_case01.png')

    实例:

    from selenium import webdriver
    from time import sleep
    
    
    driver=webdriver.Chrome()
    driver.get("http://testshop:8081/tshop/index.php?con=simple&act=login")
    
    #登录
    def login_shop(userName,pwd):
    	try:
    		element_account=driver.find_element_by_id("account")   #通过id定位
    		element_account.send_keys(userName)
    		element_password=driver.find_element_by_name("password")  #通过name定位
    		element_password.send_keys(pwd)
    		element_loginBtn=driver.find_element_by_xpath('//button[@class="btn btn-main "]')  #通过xpath定位
    		element_loginBtn.click()
    	except Exception as e:
    		driver.driver.save_screenshot('F:\testAndStudy\test\login_shop.png')
    
    
    
    def click_menu(value):
    	#0:首页、1:限时抢购、2:团购、3:服装、4:手机商城
    	try:
    		element_menu=driver.find_elements_by_xpath('//*[@id="header"]/div[3]/ul/li[@class="link"]')   #通过elements 获取整个菜单元素,并存放在list中
    		element_menu[value].click()  #通过list下标进行点击操作
    	except Exception as e:
    		driver.save_screenshot('F:\testAndStudy\test\click_menu.png')
    
    """
    输入不存在用户名,登录失败后,将保存截图到指定路径下
    """
    login_shop(userName="1234445566@qq.com",pwd="123456")  
    sleep(2)
    click_menu(2)
    

      

  • 相关阅读:
    Asp.Net Web API 2第八课——Web API 2中的属性路由
    Asp.Net Web API 2第七课——Web API异常处理
    Asp.Net Web API 2第六课——Web API路由和动作选择
    Asp.Net Web API 2第五课——Web API路由
    开始学习python
    BMI 小程序 购物车
    深浅copy 文件操作
    字典 dict 集合set
    基本数据类型 (str,int,bool,tuple,)
    python 运算符
  • 原文地址:https://www.cnblogs.com/JcHome/p/10802203.html
Copyright © 2020-2023  润新知