WebDriver 和 WebElement 是 Selenium 中两个非常重要的类,使用它们提供的方法可以实现与浏览器和页面元素的各种交互操作。WebDriver 提供了许多用来与浏览器交互的功能和设置,我们可以通过使用 WebDriver 的功能和一些方法来实现与浏览器窗口、警告、框架和弹出窗口的交互,它也提供了自动化操作浏览器导航栏、设置 cookies、截屏等特性,后面将一一介绍。
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 方法
方法
描述
参数
实例
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_centent()
切换焦点至默认框架内
driver.switch_to_default_content()
switch_to_frame(frame_reference)
通过索引、名称和网页元素将焦点切换到指定的框架,这种方法也适用于 IFRAMES
frame_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_wait: 等待时间(单位为秒)
driver.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)