Python+Selenium+Unittest 之selenium11--WebDriver操作方法1-常用操作

目录

1、send_keys("输入的内容")  (输入文字)

2、clear() (清除元素内的内容)

3、click()(点击元素)

4、quit()关闭浏览器

5、refresh()(刷新浏览器页面)

6、set_window_size()和用 maximize_window()(设置浏览器窗口的大小)

7、forward()和back()(浏览器的前进和后退操作)

8、switch_to.window() (切换浏览器的窗口)


       本篇主要说下在selenium中WebDriver的常用方法,在定位到元素后,通常是需要对元素进行一些操作的,比如对按钮进行点击、在输入框中输入文字、清除输入框中的文字、对按钮进行单击、双击或者右键等一系列操作,这里就来简单说明下,我们在平时使用中常用到的几种操作。(本篇使用例子里的driver默认有前置操作 导入webdriver模块并且设置变量driver = webdriver.Chrome())

1、send_keys("输入的内容")  (输入文字)

        在前面的例子中经常能看到send_keys()这个方法,这个方法的作用是输入()内的文字到定位的元素上,比如定位到百度的搜索时框后,就可以使用send_keys()的方法去输入想要搜索的内容。

 send_keys()使用语法:

定位到的输入框.send_ksys("要输入的内容")

2、clear() (清除元素内的内容)

        clrar()的使用方法,比如在输入框中,我们已经输入了一些文字,或者默认就会有值,这时候我们想清空内容,重新输入内容的话,就可以先使用clear()清除框里的内容,然后再去进行输入。

clear()的使用语法:

要清除内容的元素.clear()

        send_keys()和clear()这里正好可以一起看下实际使用的例子:具体操作是,先打开百度首页,然后定位到输入框后,使用send_keys()输入文字“放假安排”,之后用clear()清除输入的内容。

from selenium import webdriver  #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_id("kw").send_keys("放假安排")     #定位到输入框后,使用send_keys输入内容 "放假安排"
driver.find_element_by_id("kw").clear()   #之后再定位到输入框,清除之前输入的“放假安排”4个字

3、click()(点击元素)

        click()为单击元素,通常是定位到需要单击的元素后,使用click()来进行操作。比如百度首页的搜索按钮、上面的新闻、贴吧等按钮,都是在定位到需要打开的时候,在定位到的元素后面再使用click()的方法,即可进行点击操作。

click()的使用语法:

定位到需要单击的元素.click()

例子中的click()就是点击的意思,首先等位到新闻的按钮,然后需要点击按钮才能打开新的页面,这时候就可以用clik()去进行点击操作了。

from selenium import webdriver #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_partial_link_text("新闻").click()    #定位到第一个包含"新闻"的按钮,并且进行点击操作

4、quit()关闭浏览器

        每当我们操作完时,有时候需要关闭浏览器,这时候就可以用quit()的方法去执行关闭浏览器的操作

quit()的使用语法:

driver.quit()

直接可以运行看下实际效果:

from selenium import webdriver #导入selenium模块的webdriver
import time      #导入时间模块
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
time.sleep(2)        #等待两秒
driver.quit()        #关闭浏览器

5、refresh()(刷新浏览器页面)

        refresh()的意思是刷新浏览器,相当于页面上使用键盘的F5去进行刷新一样。

refresh()的使用语法:

driver.refresh()        #刷新浏览器页面

可以看下具体操作,进入到页面后,点击刷新。

from selenium import webdriver #导入selenium模块的webdriver
import time
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_class_name("s_ipt").send_keys("放假安排")   #定位到输入框,然后输入框输入 放假安排
driver.find_element_by_id("su").click()   #定位到百度一下按钮,然后进行点击
time.sleep(4)         #等待4秒
driver.refresh()      #刷新页面

6、set_window_size()和用 maximize_window()(设置浏览器窗口的大小)

        有时候我们需要控制浏览器的大小来进行UI的测试,这时候就可以使用set_window_size()和用 maximize_window(),set_window_size()可以再括号里填写宽和高,来手动对浏览器进行参数设置,而maximize_window()是默认将浏览器的页面设置为最大化。

set_window_size()和用 maximize_window()的使用语法:

driver.set_window_size(宽,高)         #设置浏览器页面的宽和高
driver.maximize_window()        #设置浏览器页面的大小为最大

这里看下浏览器大小的实际效果:

from selenium import webdriver #导入selenium模块的webdriver
import time        #导入时间模板
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.set_window_size(200,600)         #设置浏览器的大小为200*600
time.sleep(3)             #等待3s
driver.maximize_window()     #设置浏览器大小为最大

7、forward()和back()(浏览器的前进和后退操作)

        forward()和back()是用来控制浏览器页面的前进和后退的,比如有时候我们不小心点错进入到下个页面,或者有要求是进入到下个页面,然后再退回到之前的页面,这时候就可以用back()的方法使浏览器回退到刚刚打开的网页,而forward()则是控制浏览器前进的,进入到下个页面,实际效果就是浏览器左上角的这两个按钮。

forward()和back()的使用语法:

driver.forward()       #页面进行前进的操作,前提是有可前进的页面
driver.back()          #页面进行后退操作,其前是有可后退的页面

        可以执行下下面代码简单看下具体的页面跳转。

from selenium import webdriver #导入selenium模块的webdriver
import time      #导入time模块
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_class_name("s_ipt").send_keys("放假安排")   #定位到输入框,然后输入框输入 放假安排
driver.find_element_by_id("su").click()   #定位到百度一下按钮,然后进行点击
time.sleep(2)          #等待2秒
driver.find_element_by_link_text("资讯").click()     #找到资讯按钮,然后点击
time.sleep(2)        #等待2秒
driver.back()        #页面回退到上个页面
time.sleep(2)         #等待2秒
driver.forward()     #页面前进到下个页面

8、switch_to.window() (切换浏览器的窗口)

        有的时候我们在操作浏览器时,会打开多个页面,这时候我们需要切换页面的话就需要用到switch_to.window()的方法去选择我们想要操作的页面。

switch_to.window()的使用语法:

window_handles = driver.window_handles          #获取页面的handles
driver.switch_to.window(window_handles[0])    #切换到最初始的页面
driver.switch_to.window(window_handles[1])    #切换到第二个打开的页面
driver.switch_to.window(window_handles[-1])   #切换到最后一个打开的页面

        看个实际例子,这里是首先打开百度的首页,这里就是打开的第一个页面,之后定位到新闻并点击,这时会打开第二个页面,这时候就可以用下标[1]或者[-1],来进行打开操作。具体看下实例。

from selenium import webdriver #导入selenium模块的webdriver
import time      #导入时间模块
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_partial_link_text("新闻").click()    #定位到新闻,然后进行点击,此时打开一个新的页面
window_handles = driver.window_handles          #获取页面的handles
time.sleep(2)                    #等待两秒
driver.switch_to.window(window_handles[0])      #切换到第一个页签
time.sleep(2)               #等待两秒
driver.switch_to.window(window_handles[1])      #切换到第二个页签上

        


       如果大家在使用过程中遇到了问题,可以在文章下留言,或者关注公众号:刘阿童木的进化记录,进行留言

                   下图为公众号二维码,内容会同步发出,大家可以关注一起学习!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1380730.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

美丽的曼陀罗曲线

最近看到一篇微信朋友圈上的文章,说两个行星运行轨迹的中心连线可以画出一个美丽的曼陀罗曲线,于是就写了一段代码生成这样的曲线,结果真是令人惊叹的美丽。 代码参见 : http://runjs.cn/detail/lbgqwfiu 或者 http://codepen…

波动速读入门训练(含黄卡、曼陀螺使用方法)

http://www.cnnlp.com/viewthread.php?tid5337&extrapage%3D1 波动速读入门训练(含黄卡、曼陀螺使用方法) 入门训练是进行波动速读的基础 在波动速读之前要进行入门训练,入门训练包括这样几项: 1.视觉训练 2.ESP(超感觉能力)训练 3.右脑记忆训…

思维导图 基础篇(06)思维方法-曼陀罗思考法

系列文章解读&说明: 本系列文章主要内容是 思维导图 基础课,旨在帮助更多 热爱学习的伙伴 更具体的了解思维导图,同时也会让 更多的伙伴从 思维导图 认知 误区中走出。 系列文章总纲链接为:专题总纲目录(01&…

曼陀罗思考法

一 曼陀罗思考法的意义 曼陀罗艺术原本起源于佛教,被今泉浩晃先生加以系统化利用之后,却成为绝佳的计划工具。曼陀罗生活笔记最终目的是将「知识」转变为实践的「智慧」。按照此方法制作备忘录,应付学业与工作上各项疑惑,灵感将不…

曼陀罗绘画沙龙第二期|用100个曼陀罗,探索最真实的自我

感觉生活很平淡 找不到幸福感? 内心有伤痛 却不懂得自我疗愈? 不需任何绘画功底 一张曼陀罗就可以让你 随时随地随性进行情绪表达 唤醒沉睡的智慧 疗愈自我心灵 促进自我功能平衡 有些话儿无法言说 不如来一场治愈心灵的曼陀罗 给自己的心情放个假吧~ 什…

训练创新思维的方法:曼陀罗思考法

回顾10多年来走过的软件之路除了在经验上有一点积累、掌握了不少的技术之外似乎仍然一无所有,我并不是在传播负能量,这种一无所有指的并不是物质或是生活上的,而是在事业道路上。软件发展在于创新而这么多年来的工作却一直只是在跟随&#xf…

Spark(38):Streaming DataFrame 和 Streaming DataSet 转换

目录 0. 相关文章链接 1. 基本操作 1.1. 弱类型 api 1.2. 强类型 1.3. 直接执行 sql 2. 基于 event-time 的窗口操作 2.1. event-time 窗口理解 2.2. event-time 窗口生成规则 3. 基于 Watermark 处理延迟数据 3.1. 什么是 Watermark 机制 3.2. update 模式下使用 w…

Docker安装 Kibana

目录 前言安装Kibana步骤1:准备1. 安装docker2. 搜索可以使用的镜像。3. 也可从docker hub上搜索镜像。4. 选择合适的redis镜像。 步骤2:拉取 kibana 镜像拉取镜像查看已拉取的镜像 步骤3:创建容器创建容器方式1:快速创建容器 步骤…

怎么学习AJAX相关技术? - 易智编译EaseEditing

学习AJAX(Asynchronous JavaScript and XML)相关技术可以让你实现网页的异步数据交互,提升用户体验。以下是一些学习AJAX技术的步骤和资源: HTML、CSS和JavaScript基础: 首先,确保你已经掌握了基本的HTML…

网络营销新人应该掌握的6大通关方法

当然大多数网络营销新人的基础目的还是想实现网赚的第一步,那么我们以网赚为基础的前提下,新人应该掌握以下6大通关方法: 一、微博营销 以新浪微博为例,营销大号已然成为微博江湖里盈利模式较清晰的一种模式。这是目前营销模式…

破解密码--csa

#passwd [USERNAME] 修改或者设置用户的密码 #passwd -d [USERNAME] 删除用户密码 注: 管理执行passwd: 可以指定用户名;不要输入之前的密码;可以更改和删除所有用户的密码;密码等级没有严格要求 普通用户执行p…

程序员的代码行数越少越好?

点击上方“码农突围”,马上关注,每天上午8:50准时推送 这里是码农充电第一站,回复“666”,获取一份专属大礼包 真爱,请设置“星标”或点个“在看” 作者 | Ryland Goldstein 出自 | CSDN 代码行数越少越好?…

PE启动盘和U启动盘(第三十六课)

PE启动盘和U启动盘(第三十六课) 一 WindowsPE工具盘 1. 制作WinPE镜像光盘 双击WePE64_V2.2-是-点击右下角光盘图标-选择ISO的输出位置-立即生成ISO 2. 通过光盘启动WinPE

细胞分裂2java版第4关怎么过_奇迹暖暖第二卷第二章第4关怎么过_ 奇迹暖暖II-2-4通关攻略_游戏吧...

奇迹暖暖游戏中有很多玩家都想知道第二卷第二章第4关怎么过,下面游戏吧小编为大家奇迹暖暖II-2-4通关攻略,感谢大家的阅读,更多精彩内容请关注游戏吧! 属性:华丽、可爱、活泼、清纯、清凉; 技能推荐&#x…

面试问题大通关

面试问题大通关大灰狼 问题一:“请你自我介绍一下” 常规思路: ①介绍内容要与个人简历相一致; ②表述方式上尽量口语化;③要切中要害,不谈无关、无用的内容;④条理要清晰,层次要分明&a…

FC金手指代码大全·持续更新-亲测可用-FC 经典游戏完整可用的金手指大全---持续更新,偶尔玩玩经典回味无穷,小时候不能通关的现在通通通关一遍

FC 经典游戏完整可用的金手指大全—持续更新,偶尔玩玩经典回味无穷,小时候不能通关的现在通通通关一遍 2021年5月11日更新: 每次翻金手指一些垃圾小网站标题党吸引进去吓一大堆木马什么也没有,什么xx无敌版,浪费了宝…

codecombat极客战记森林61-70通关代码

codecombat极客战记森林61-70通关代码 python代码 61.罪与罚 # 看起来食人魔酋长正在偷你的宝石啊! # 指挥两门火炮攻击敌人达成目标。while True:item hero.findNearestItem()if item:itempos item.pos.x " " item.pos.yhero.say("item at :&…

在线sqli-labs 通关大全 Less-2

sqli-labs (2) 励志语录 青年是学习智慧的时期,中年是付诸实践的时期。——卢梭 1.知识点 sql注入常见参数 user():当前数据库用户 database():当前数据库名 concat():联合数据,用于联合两条数据结果。如 concat(us…

在线sqli-labs 通关大全 Less-1

sqli-labs (1) sqli-labs实验前: 本人因在sqli-labs搭建过程中遇到大量问题,百度后依旧无果,所以现决定在在线sqli-labs平台进行试验。 sqli-labs在线平台: http://43.247.91.228:84/ 在线平台sqli-labs Page-1 点击Less-1可直接进行试验 …

龙狼三国神龙守护者自动通关脚本

2019独角兽企业重金招聘Python工程师标准>>> 本段代码是一个按键精灵脚本 龙狼三国的神龙守护者既刷新BUG被修复后,官方又想出了新的策略:每次需要用鼠标左键单击“开始战斗”进入神龙守护者,而连续两次鼠标不能在同一个位置点击这…