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])      #切换到第二个页签上

        


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

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

你可能感兴趣的:(web自动化,python,selenium,开发语言)