目录
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())
在前面的例子中经常能看到send_keys()这个方法,这个方法的作用是输入()内的文字到定位的元素上,比如定位到百度的搜索时框后,就可以使用send_keys()的方法去输入想要搜索的内容。
send_keys()使用语法:
定位到的输入框.send_ksys("要输入的内容")
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个字
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() #定位到第一个包含"新闻"的按钮,并且进行点击操作
每当我们操作完时,有时候需要关闭浏览器,这时候就可以用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() #关闭浏览器
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() #刷新页面
有时候我们需要控制浏览器的大小来进行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() #设置浏览器大小为最大
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() #页面前进到下个页面
有的时候我们在操作浏览器时,会打开多个页面,这时候我们需要切换页面的话就需要用到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]) #切换到第二个页签上
如果大家在使用过程中遇到了问题,可以在文章下留言,或者关注公众号:刘阿童木的进化记录,进行留言
下图为公众号二维码,内容会同步发出,大家可以关注一起学习!