热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

由官方文档看selenium(2)

1.ActionChains类鼠标操作常用方法:引入ActionChains类:<spanstyle"font-size:18px;">fromselenium.

1.ActionChains类鼠标操作常用方法:


引入ActionChains类:

from selenium.webdriver import ActionChains


context_click()    右击

RightClick = driver.find_element_by_id("id")
ActionChains(driver).context_click(RightClick).perform()

double_click()    双击
DoubleClick = driver.find_element_by_name("name")
ActionChains(driver).double_click(DoubleClick).perform()

drag_and_drop(source, target)    鼠标拖放

source:鼠标按下的源元素;target:鼠标释放的目标元素

element = driver.find_element_by_name("name")
target = driver.find_element_by_name("name")
ActionChains(driver).drag_and_drop(element, target).perform()

move_to_element()    鼠标悬停在一个元素上
above = driver.find_element_by_xpath("xpath路径")
ActionChains(driver).move_to_element(above).perform()

click_and_hold()    按下鼠标左键在一个元素上

left = driver.find_element_by_name("name")
ActionChains(driver).click_and_hold(left).perform()

2.在窗口和frame之间切换:


现代的web应用常常会在页面中嵌套frame或者是窗口,这给我们定位元素带来一定的困难。如果元素是在一个iframe内的话,直接使用find_element_by_*()系列的方法有时候会找不到想要的元素的。

这个时候需要使用:

driver.switch_to_frame("framename或者id")

来切换到包含该元素的iframe

我们也可以使用.来获取到下一级的frame,可以指明子frame的索引号:

driver.switch_to_frame("frameName.0.child")
这样就会切换到name或id=frameName的第一个子frame中name=child的frame中

当要从该iframe中出去时要调用driver.switch_to_default_content(),返回到主content,也就是主界面中

当要切换多窗口的时候:使用

driver.switch_to_window("windowName")

如果不知道windowName,可以看一下打开该窗口的JS或者连接:

例如:

Click here to open a new window


当然你也可以传递一个窗口的句柄到switch_to_window()方法:

可以通过这种方法迭代地打开所有窗口:

for handle in driver.window_handles:
driver.switch_to_window(handle)


3.处理弹出窗口:

当你触发一个导致弹出窗口的动作时,可以用switch_to_alert()方法切换到弹出窗口

alert = driver.switch_to_alert()

这样会返回当前弹出框的对象,使用这个对象可以对弹出框进行操作。


4.处理COOKIEs:

要处理COOKIE首先要到该域下:

如下:

# Go to the correct domain
driver.get("http://www.example.com")

# Now set the COOKIE. This one's valid for the entire domain
COOKIE = {‘name’ : ‘foo’, ‘value’ : ‘bar’}
driver.add_COOKIE(COOKIE)

# And now output all the available COOKIEs for the current URL
driver.get_COOKIEs()




推荐阅读
  • vue使用
    关键词: ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • .NetCoreWebApi生成Swagger接口文档的使用方法
    本文介绍了使用.NetCoreWebApi生成Swagger接口文档的方法,并详细说明了Swagger的定义和功能。通过使用Swagger,可以实现接口和服务的可视化,方便测试人员进行接口测试。同时,还提供了Github链接和具体的步骤,包括创建WebApi工程、引入swagger的包、配置XML文档文件和跨域处理。通过本文,读者可以了解到如何使用Swagger生成接口文档,并加深对Swagger的理解。 ... [详细]
author-avatar
阿思翠
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有