Pycharm+Selenium webdriverPython自动化测试
这是关于软件测试的一个作业!
1.Pycharm下载,这里可以自己去官网下载即可:https://www.jetbrains.com/pycharm/download/#section=windows,具体下载流程较为简单(这里推荐百度,比我说的详细)。
2.Selenium安装,这里采用简单的办法:打开cmd,输入python –m pip install selenium .

还有第二种方法,直接去官网下载:https://pypi.python.org/pypi/selenium,根据自己电脑下载对应的位数。
3.安装浏览器驱动,这里我采用的火狐,反正大致方法是一样的:这里还是在:https://pypi.python.org/pypi/selenium下载,

4.测试是否安装成功,输入以下代码:
# encoding = utf-8
from selenium import webdriver
driver= webdriver.Firefox()
driver.get("http://www.baidu.com")
当然,如果你安装selenium成功后,最容易报错的就是“找不到geckodriver”这里我们刚刚下载了
然后将其解压到:
然后即可运行。
5.第一个demo运行结果如下:
6.相关操作(这里我直接给出所有代码,较为简单):
# -*- coding: utf-8 -*-
from selenium import webdriver
import time
driver=webdriver.Firefox()
driver.get("https://www.baidu.com/")
time.sleep(5)#定时操作
driver.refresh()#刷新页面
driver.get("http://www.4399.com")
time.sleep(5)
driver.refresh()
driver.back()#返回上一页
time.sleep(3)
driver.forward()#切回下一页
这里运行后,先进入百度,然后刷新,然后再进入4399,然后再刷新,然后返回百度,然后再进入4399.大家可以自行运行代码。
#coding:utf-8
from selenium import webdriver
import time
driver=webdriver.Firefox()
driver.get("https://www.baidu.com/")
time.sleep(3)
#设置窗口大小为手机分辨率540*960
driver.set_window_size(540,960)
time.sleep(2)
#将浏览器窗口最大化
driver.maximize_window()
这里进入百度,然后将屏幕设置为:540*960,然后再恢复。
from selenium import webdriver
from time import sleep driver = webdriver.Firefox()
driver.get("http://www.baidu.com") driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
sleep(5) # 截取当前窗口,并指定截图图片的保存位置
driver.get_screenshot_as_file("login_success.png")
sleep(5) #退出关闭浏览器
driver.quit()
这里进入百度,然后输入在输入框输入selenium,然后点击查询,出现结果后,截取当前页面。
我这里只给出部分操作。具体更多操作,大家可以自行百度。
自动化爬取b站数据:
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait # 用于实例化一个Driver的显式等待
from selenium.webdriver.common.by import By # 内置定位器策略集
from selenium.webdriver.support import expected_conditions as EC # 内置预期条件函数,具体API请参考此小节后API链接 driver = webdriver.Firefox()
driver.get('https://www.bilibili.com/v/game/esports/?spm_id_from=333.334.primary_menu.35#/9222')
try:
WebDriverWait(driver, 20, 0.5).until(EC.presence_of_all_elements_located((By.CLASS_NAME,'vd-list'))) #使用expected_conditions自带验证函数
for doctorName in driver.find_elements_by_css_selector('.vd-list li'):
print(doctorName.find_element_by_css_selector('.r > a').text)
finally:
driver.close() # close the driver
结果如下:
Pycharm+Selenium webdriverPython自动化测试的更多相关文章
- [软件测试基础2]基于selenium的自动化测试
这次上机我们主要使用Selenium进行自动化测试,首先我们需要下载selenium-java的依赖项. 若使用maven管理项目,则在.pom文件中加入如下依赖项: <dependency&g ...
- selenium + python 自动化测试环境搭建
selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...
- Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python
Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...
- Selenium终极自动化测试环境搭建(一) Selenium+Eclipse+Junit+TestNG
Selenium终极自动化测试环境搭建(一)Selenium+Eclipse+Junit+TestNG 第一步 安装JDK JDk1.7. 下载地址:http://www.oracle.com/tec ...
- selenium+python自动化测试
F12: 右键 选择复制 path 在selenium+python自动化测试(一)–环境搭建中,运行了一个测试脚本,脚本内容如下: from selenium import webdriver ...
- Selenium 2自动化测试实战
Selenium 2自动化测试实战 百度网盘 链接:https://pan.baidu.com/s/1aiP3d8Y1QlcHD3fAlEj4sg 提取码:jp8e 复制这段内容后打开百度网盘手机Ap ...
- 【转载】selenium与自动化测试成神之路
Python selenium —— selenium与自动化测试成神之路 置顶 2016年09月17日 00:33:04 阅读数:43886 Python selenium —— selenium与 ...
- Selenium 页面自动化测试 面试 问题汇总
1. 专业技术 在学习完Selenium的大部分接口或者方法之后,你可能会去面试自动化测试,主要是Selenium的自动化测试.下面这些问题总结,可能会对你有所帮助. 什么是Selenium? S ...
- selenium + python自动化测试unittest框架学习(五)webdriver的二次封装
因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<se ...
随机推荐
- HearthBuddy Ai调试实战1-->出牌的时候,少召唤了图腾就结束回合
期望通过ai的调试,来搞明白出牌的逻辑. 55是投火无面者63是恐狼前锋34是风怒36是自动漩涡打击装置13是空灵召唤者, "LocStringZhCn": "<b ...
- 响应式css样式
<div class="a"> 123 </div> @media(orientation:portrait) and (max-width:600px){ ...
- create-react-app 工程,如何修改react端口号?
概要: 3000端口是webpack配置里面写的,可以通过传递一个PORT全局变量,来修改这个端口.当然,您还可以在node_modules/react-scripts/目录下面,批量搜索替换3000 ...
- 16 Flutter仿京东商城项目 跳转到搜索页面实现搜索功能 以及搜索筛选
ProductList.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.dart'; imp ...
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_15-页面静态化-模板管理-模板管理业务流程
在视频教学的过程中,不会去做模板管理的模块 cms_template用来存储模板信息 cms_page 这一些课程页面用的是一个模板 模板的详情.templateFileId是模板的文件id 模板的文 ...
- Java面试题(基础)
一.Java 基础 1.JDK 和 JRE 有什么区别? 答:JRE是java运行时环境,包含了java虚拟机,java基础类库.是使用java语言编写的程序运行所需要的软件环境,是提供给想运行jav ...
- Opengl_入门学习分享和记录_03_渲染管线(三)借助顶点数组对象VAO提高绑定属性效率
目前我们已经知道了,如果想要顶点着色器解释理解我们的输入数据,就必须要按照以下繁琐的步骤:第一步:将输入的数据复制一份到缓冲区,供OpenGL使用.而这块新出现的区域由VBO管理和表示.(若有多个输入 ...
- Public thanks to Shao Qirui for his contribution to open source software
Public thanks to Shao Qirui for his contribution to open source softwareShao Qirui is a student, but ...
- DC-1靶机
DC-1 靶机获取:http://www.five86.com/ 发现IP:arp-scan --interface=eth0 -localnet arp-scan -l 靶机IP:192.168.0 ...
- 31.网络协议介绍tcp/udp
网络协议 TCP:网络中传输数据的协议,打电话 解决了我可能在网络中找不到别人(数据无法传输到) 保证数据传输的稳定性,可靠性 保证数据的安全性,完整性 对方要有响应 尝试重新发送 UDP:传输数据的 ...