栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python+selenium自动化学习笔记(一)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python+selenium自动化学习笔记(一)

第一个testcase涉及到的知识内容:

"""这里学习内容:
如何唤起浏览器
打开指定网址
刷新页面的方法refresh()
查找指定的元素
模拟键盘输入文本并进行回车操作
"""
1、唤起浏览器:
from selenium import webdriver

driver = webdriver.Chrome()
driver.get_url('https://juejin.cn/')
driver.quit()

根据掘金上的教程,安装了selenium和对应的Chromedriver的版本,直接在pycharm里run,可以唤起浏览器,但是无法将url传到浏览器内进行打开,有一段这个报错

Traceback (most recent call last):
  File "/Users/bytedance/PycharmProjects/pythonProject/venv/test.py", line 4, in
    driver.get_url('https://juejin.cn/')
AttributeError: 'WebDriver' object has no attribute 'get_url'

找到了这个报错的原因,是因为driver.get()而不是driver.get_url()用错了方法导致的。现在可以正常进入掘金首页了。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://juejin.cn/')
# 退出浏览器
driver.quit()

【这里是第1个演示视频】

2、刷新页面方法 refresh()

接着学习刷新页面的方法refresh(),这里需要加time.sleep()——这是用来做等待加载的一种方法,比较笨,但是目前来讲是最好用的一种,主要是有些操作比较快,会继续下一步,如果此时需要点击的按钮或者检查的文字还没有加载出来,直接进行查询、点击的话,会直接中断整个流程,并引入找不到元素的报错提示。

在页面顶部加上import time就可以正常使用time.sleep()这个方法了。

注意:里面的数字是秒级别的,不需要加引号。

 接着找到搜索框的元素,并输入想查的信息,回车完成搜索整个步骤静待结果

3、找到搜索框的元素

这里我们要先查看页面的element,找到搜索框的element,找到后先将xpath路径copy下来:

//*[@id="juejin"]/div[1]/div/header/div/nav/ul/li[2]/ul/li[1]/form/input

【这里是第2个演示视频】

此时我们看一下这个元素里都有什么

目前这行element里有东西的就是typemaxlengthplaceholderclass这几个,按照元素定位的方法选择的话,只有xpath和class_name可以选用。

需要注意的是,前端页面的控件是有可变的不确定性,一般尽量不要使用xpath这种路径进行元素定位,除非走投无路QAQ

先来试试class_name是否能用,好的,实验证明不能用,看看这一串儿的报错。看来只有xpath路径这一种选择了。

【这里是第3个演示视频】

Traceback (most recent call last):
  File "/Users/bytedance/PycharmProjects/pythonProject/venv/test.py", line 16, in
    driver.find_elements_by_class_name("search-input").send_keys("测试自动化")
AttributeError: 'list' object has no attribute 'send_keys'

xpath直接copy下来的路径是比较长的,前面已经copy下来了,这时候我们去页面寻找最短的绝对路径的办法

//input

注意:视频最后的placeholder是用来做精准定位的,不过这里的搜索框是动态加载元素,不适用,直接用input就能定位唯一值就不用写里面的部分了,当然那样写运用到别的地方定位是可以适用的。

4、模拟键盘输入并回车

定位元素后,需要适用模拟键盘的功能,此时需要在订单引入键盘相关的包

from selenium.webdriver.common.keys import Keys

 这时候我们就可以对搜索框进入输入并回车的操作了。

# 使用xpath找到一个最短的唯一绝对路径
driver.find_element_by_xpath('//input').send_keys("测试自动化")
driver.find_element_by_xpath('//input').send_keys(Keys.ENTER)
# 退出浏览器
driver.quit()

第一个testcase需要学习的内容就结束了,别忘记了最后需要加上quit()方法关闭浏览器哦~

【这里是第4个演示视频】


本文涉及4个动态视频演示,由于CSDN不是很方便上传,可以移步到同步更新的微信公众号上查阅。

测试内容同步微信公众号更新,可扫描二维码关注不定期的更新推送。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/272598.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号