窗口
窗口的设置
创建
# 注意:ruby 中的 new_window 只打开一个新标签页(或)窗口,不会自动切换
# 用户必须切换到新选项卡 (或) 新窗口
# 打开新标签页并切换到新标签页
driver.manage.new_window(:tab)
# 打开一个新窗口并切换到新窗口
driver.manage.new_window(:window)
切换窗口或者标签页
# 存储原始窗口的 ID
original_window = driver.window_handle
#检查一下,我们还没有打开其他的窗口
assert(driver.window_handles.length == 1,'Expected one window')
#点击在新窗口中打开的链接
driver.find_element(link:'new window').click
#等待新窗口或标签页
wait.until {driver.window_handles.length == 2}
#循环执行,直到找到一个新的窗口句柄
driver.window_handles.each do |handle|
if handle != original_window
driver.switch_to.window handle
break
end
end
#等待新标签页完成加载内容
wait.until {driver.title =='Selenium documentation'}
关闭
#关闭标签页或窗口
driver.close
#切回到之前的标签页或窗口
driver.switch_to.window original_window
退出
driver.quit
begin
#WebDriver 代码…
ensure
driver.quit
end
大小与位置
获取窗口大小
# 分别获取每个尺寸
width = driver.manage.window.size.width
height = driver.manage.window.size.height
# 或者存储尺寸并在以后查询它们
size = driver.manage.window.size
width1 = size.width
height1 = size.height
设置大小
driver.manage.window.resize_to(1024,768)
得到窗口位置
#Access each dimension individually
x = driver.manage.window.position.x
y = driver.manage.window.position.y
# Or store the dimensions and query them later
rect = driver.manage.window.rect
x1 = rect.x
y1 = rect.y
设置位置
driver.manage.window.move_to(0,0)
最大/小化
driver.manage.window.maximize
driver.manage.window.full_screen #全屏
driver.manage.window.minimize #4以上版本