应用场景:

当单击主页上的链接时,将打开一个新窗口。在新打开的窗口中,无法执行任何操作,因为焦点仍然在主页Web驱动程序上。

这时候,我们需要把焦点定位到新打开的页面上。

先获取所有窗口a=driver.window_handles

再获取最新打开的窗口driver.switch_to.window(a[-1])

这里有一点不一样有时候handles【1】里面的数字是1或者-1都可以。

实现功能

百度页面,打开x超链接,在新窗口下拉滚动条。

实现代码:

导入相关包

from time import sleep

from selenium import webdriver

定义一个类

class Testwindow(object):

定义初始化函数

def __init__(self):
self.driver=webdriver.Chrome()
self.driver.get('https://www.baidu.com/')
self.driver.implicitly_wait(5)

定义初始化函数,打开x超链接,在新窗口下拉滚动条

def link(self):
self.driver.find_element_by_partial_link_text('2021').click()
#获取窗口句柄
a=self.driver.window_handles
self.driver.switch_to.window(a[1])
sleep(3)
self.driver.execute_script('window.scrollTo(0,10000)')
sleep(1)
self.driver.quit()

if name == 'main':

test=Testwindow()

test.link()

Selenium KPI接口 窗口句柄的更多相关文章

  1. selenium获取多窗口句柄并一一切换至原窗口句柄(三个窗口)

    网上有很多是selenium基于python来获取两个窗口句柄与切换,本文实现用python+selenium获取多窗口句柄并一一切换至原窗口句柄(三个窗口),且在每个窗口下进行一个搜索或翻译,然后截 ...

  2. selenium获取多窗口句柄并一切换至原窗口句柄(三个窗口)

    网上有很多是selenium基于python来获取两个窗口句柄与切换,本文实现用python+selenium获取多窗口句柄并一一切换至原窗口句柄(三个窗口),且在每个窗口下进行一个搜索或翻译,然后截 ...

  3. Selenium获取当前窗口句柄与切换回原窗口句柄

    Selenium通过window_handles获取当前窗口句柄,进行页面元素操作 切换回原窗口句柄,进行元素操作 代码如下:(python版) __author__ = 'liuke' import ...

  4. 关于selenium自动化对窗口句柄的处理

    首先什么是句柄?句柄就是你点击一个页面,跳转了一个新的窗口.你要操作的元素可能在原窗口上,也有可能在新窗口上. 看下图句柄1 句柄2 由这2张图可知,url不一样,证明他们是处于不同的界面,我要操作的 ...

  5. Java +selenium Navigation接口介绍

    Navigation接口主要实现对浏览器的前进.后退.打开网址.刷新当前页面等操作的. void back():就是操作当前页面后退,相当于网页的后退按钮. void forward():就是操作当前 ...

  6. Java + selenium Timeout接口用法介绍

    上一篇介绍了关于如何启动浏览器的方法.这篇文章要介绍一下,上一篇代码中关于等待时间的接口方法,代码如下: driver.manage().timeouts().pageLoadTimeout(5, T ...

  7. Selenium各种工具比较

    Selenium 1.0 Selenium 1.0是第一个基于浏览器的开源自动化测试工具.它可以使用所有支持http库的编程语言,也可以运行在所有支持javascript的浏览器上.当然它 也有它的缺 ...

  8. python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)

    简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试. 什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统 ...

  9. 自动化测试Java一:Selenium入门

    From: https://blog.csdn.net/u013258415/article/details/77750214 Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介 ...

  10. Selenium switch_to方法

    在web应用自动化测试中,点击一个链接或者按钮会打开一个新的浏览器窗口,会出现多个窗口实例.默认情况下的焦点在主窗口(父窗口),如果要对子窗口进行操作,就需要首先切换到子窗口. Selenium We ...

随机推荐

  1. 【Mybatis】学习笔记02:实现简单的查

    Mybatis02:简单的查 如果你没先去学 增删改 ,然后直接看这篇记录,我想会有些困难.因为该文写的很粗劣,只是简单的截图.所以没基础的建议先去看 [Mybatis]学习笔记01:连接数据库,实现 ...

  2. 如何在众多Ubuntu版本中挑选出最适配自身需求的系统版本?用德承工控机GM-1100来深度剖析其中的门道

    Ubuntu是一款基于Debian GNU/Linux,支持x86.amd64(x64)和ppc架构,以桌面应用为主的Linux操作系统.其名称来自非洲南部的语言"ubuntu"( ...

  3. 闲话即时通讯:腾讯的成长史本质就是一部QQ成长史

    1.前言 在猴年新春的时候,腾讯当时推出了新春广告片(点击观看视频),作为<弹指间 心无间>的延续.片中通过春节期间发送QQ红包让家人打车回家团聚,让我们感受到了"最温暖的红包, ...

  4. Pytorch Utils 总结

    Utils 从torch.nn.utils模块 clip_grad_norm_ 裁剪参数迭代的梯度范数. clip_grad_value_ 在指定值处剪辑可迭代参数的梯度. parameters_to ...

  5. R语言画图常用参数

    plot(x,xlab = "degree",ylab = "number of nodes",main = "mRNA degree distrib ...

  6. VueH5页面中input控件placeholder提示字默认颜色修改与禁用时默认字体颜色修改

    一.默认提示字颜色修改 不同浏览器的设置略有区别 以下是只选择name为color的input进行修改 //chrome谷歌浏览器,Safari苹果浏览器 input[name="color ...

  7. R语言系列—R语言简介及安装

    同学们,大家好,今天开始开设一个新系列,R语言系列,对生信分析中涉及到的R语言代码及R语言绘图进行详细讲解,感兴趣的同学可以重点关注一下. 什么是R语言? R语言是用于统计分析.绘图的语言和操作环境. ...

  8. 基于 Admission Webhook 实现 Pod DNSConfig 自动注入

    本文主要分享如何使用 基于 Admission Webhook 实现自动修改 Pod DNSConfig,使其优先使用 NodeLocalDNS . 1.背景 上一篇部署好 NodeLocal DNS ...

  9. [.NET] 使用客户端缓存提高API性能

    使用客户端缓存提高API性能 摘要 在现代应用程序中,性能始终是一个关键的考虑因素.无论是提高响应速度,降低延迟,还是减轻服务器负载,开发者都在寻找各种方法来优化他们的API.在Web开发中,利用客户 ...

  10. langchain-知识库问答

    本地接入 百川 langchain调用 参考:https://github.com/datawhalechina/self-llm/blob/master/BaiChuan/03-Baichuan2- ...