这里演示一下使用pyautogui替代selenium进行web自动化测试,并不建议使用pyautogui进行web自动化测试,因为元素的ui一旦有长宽变化,或者风格的变化,执行时就会发生异常,仅当学习使用

以使用selenium打开百度,并在输入框输入“只宅不技术”,之后点击搜索为例

代码如下:

  1. #coding=utf-8

  2. from selenium import webdriver

  3. import time

  4. #打开火狐浏览器

  5. driver=webdriver.Firefox()

  6. #打开百度

  7. driver.get("https://www.baidu.com")

  8. time.sleep(2)

  9. #找到输入框输入 只宅不技术

  10. driver.find_element_by_id("kw").send_keys(u'只宅不技术')

  11. #点击搜索框

  12. driver.find_element_by_id("su").click()


若要使用pyautogui替代selenium,需要先进行截图,然后通过图像识别操作

首先需要利用截图工具进行截图,比如QQ就可以进行截图,需要截的图片有

1、火狐浏览器的图标,将其命名为firefox.png

2、输入url的地址框在这里插入图片描述,将其命名为url.png

3、进行搜索的输入框在这里插入图片描述,将其命名为kw.png

4、进行搜索的搜索按钮在这里插入图片描述,将其命名为su.png

由于typewrite()函数无法输入中文,所以事先把“只宅不技术”复制到了粘贴板,输入时候粘贴一下就行,将截图与代码放置在同一路径下【需要注意,整个屏幕上只能有一个火狐的图标,不然会报错】

代码如下:

  1. import pyautogui

  2. import time

  3. #定义图像识别双击事件

  4. def mouseDoubleClick(image):

  5. x,y=pyautogui.locateCenterOnScreen(image)

  6. pyautogui.click(x,y,clicks=2,interval=0.2,duration=0.2,button='left')

  7. #定义单击事件

  8. def mouseClick(image):

  9. x,y=pyautogui.locateCenterOnScreen(image)

  10. pyautogui.click(x,y,clicks=1,interval=0.2,duration=0.2,button='left')

  11. #双击火狐浏览器的图标

  12. mouseDoubleClick(image='firefox.png')

  13. time.sleep(3)

  14. #双击浏览器的url地址框

  15. mouseClick(image='url.png')

  16. #在地址框输入百度地址,然后回车

  17. pyautogui.typewrite('www.baidu.com')

  18. pyautogui.keyDown('enter')

  19. pyautogui.keyUp('enter')

  20. time.sleep(2)

  21. #双击搜索框

  22. mouseClick(image='kw.png')

  23. #将只宅不技术粘贴到搜索框

  24. pyautogui.hotkey('ctrl','v')

  25. time.sleep(2)

  26. #点击搜索

  27. mouseClick(image='su.png')

在这里插入图片描述

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

Logo

一站式 AI 云服务平台

更多推荐