• 窗口
  • Ruby selenium part4 窗口

    窗口

    窗口的设置

    创建

    # 注意: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以上版本
    

    上一篇:Ruby selenium part3 等待

    下一篇:Ruby selenium part5 frame