python- Selenium WebDriver功能原理和常用方法

WebDriver原理

WebDirver提供许多用来与浏览器交互的功能和设置。我们可以通过使用WebDirver的功能和一些方法来实现与浏览器窗口、警告、框架和弹出窗口的交互。它也提供了自动化操作浏览器导航栏、设置cookies、截屏等方便我们测试的特性。

WebDriver功能

WebDriver操纵浏览器功能如下表:

功能/属性描述示例
current_url获取当前页面的URL地址driver.current_url
current_window_handle获取当前窗口的句柄driver.current_window_handle
name获取该实例底层的浏览器名称driver.name
orientation获取当前设备的方位driver.orientation
page_source获取当前页面的源代码driver.page_source
title获取当前页面的标题driver.title
window_handles获取当前session里所有窗口的句柄driver.window_handles

WebDriver方法

WebDriver常用于实现与浏览器窗口、网页和页面元素的交互的方法如下表:

方  法描  述参  数示例
back()后退到前一步操作的页面driver.back()
close()关闭浏览器driver.close()
forward()前进一步到当前会话的浏览器历史记录中前一步操作后的页面driver.forward()
get(url)访问目标URL并加载网页到当前的浏览器会话url是目标网页的网站地址driver.get(“https://www.baidu.com/”)
maximize_window()最大化当前浏览器窗口driver.maximize_window()
quit()退出当前driver并且关闭所有的相关窗口driver.quit()
refresh()刷新当前页面driver.refresh()
switch_to_active_element()返回当前页面唯一焦点所在的元素driver.switch_to_active_element()
switch_to_alert()把焦点切换至当前页面弹出的警告driver.switch_to_alert()
switch_to_default_content()切换焦点至默认框架内driver.switch_to_default_content()
switch_to-frame(frame_reference)通过索引、名称和网页元素将焦点切换到指定的框架,这种方法也适用于IFRAMESframe_reference:要切换的目标窗口的名称、整数类型的索引或者要切换的目标框架的网页元素driver.switch_to-frame(frame_reference)
switch_to_window(window_name)切换焦点到指定的窗口window_name:要切换的目标窗口的名称或者句柄driver.switch_to_window(window_name)
implicitly_wait(time_to_wait)超时设置等待目标元素被找到,或者目标指令执行完成。该方法在每个session只需要调用一次time_to_waitdriver.implicitly_wait(time_to_wait)
set_page_load_timeout(time_to_wait)设置一个页面完全加载完成的超时等待时间time_to_wait: 等待时间driver.set_page_load_timeout(time_to_wait)
set_script_timeout(time_to_wait)设置脚本执行的超时时间,应该在execute_async_script抛出错误之前time_to_wait: 等待时间driver.set_script_timeout(time_to_wait)

示例

  • 1.控制浏览器窗口大小
    使用set_window_size() 方法来设置浏览器的大小
#-*- Coding:UTF-8 -*-
from selenium import webdriver
import time
driver=webdriver.Firefox()
driver.get("https://www.baidu.com/")
print ("设置浏览器宽 480、高 800 显示")
driver.set_window_size(480,800)
time.sleep(1)
print ("设置浏览器宽全屏")
driver.maximize_window()

print ("退出浏览器")
driver.quit()
  • 2.控制浏览器后退、前进
    WebDriver 也提供了对应的 back()和 forward()方法来模拟后退和前进按钮.
#-*- Coding:UTF-8 -*-
from selenium import webdriver
driver = webdriver.Firefox()
#访问百度首页
first_url= 'http://www.baidu.com'
print "now access %s" %(first_url)
driver.get(first_url)
#访问新闻页面
second_url='http://news.baidu.com'
print "now access %s" %(second_url)
driver.get(second_url)
#返回(后退)到百度首页
print "back to %s "%(first_url)
driver.back()
#前进到新闻页
print "forward to %s"%(second_url)
driver.forward()
driver.quit()
  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值