当前位置:   article > 正文

Python+Selenium+Unittest 之selenium11--WebDriver操作方法1-常用操作_selenium webdriver 点击

selenium webdriver 点击

目录

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()清除输入的内容。

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

3、click()(点击元素)

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

click()的使用语法:

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

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

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

4、quit()关闭浏览器

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

quit()的使用语法:

driver.quit()

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

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

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

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

refresh()的使用语法:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

switch_to.window()的使用语法:

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

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

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

        


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

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号