1、selenium的环境搭建
1.1 Selenium的安装教程
手工测试的过程:1、打开浏览器 2、输入被测网址3、点点
selenium的安装:1、pip install selenium 2、安装浏览器驱动(1、使用什么浏览器安装什么驱动 2、版本要匹配,什么浏览器用什么驱动)下载webdriver:镜像地址(解压得到一个exe的文件,放到python的根目录下面)
from selenium import webdriver
#初始化浏览器
browser = webdriver.Chrome()
webdriver的作用:
selenium的原理:(面试题)
selenium基于http协议的。
webdriver怎么提供接口的:
webdriver是服务端,python是客户端
python想发送一个请求用的request,操作浏览器。
作业:写简历
2、HTML页面(1227)
python看HTML的源码去点击,手工用眼睛发现,elements下面是HTML的源代码
HTML和页面内容的关系:
HTML的源码内容是和页面内容对应的
认识HTML:超文本标记语言(HyperText Markup Language)是一种构建网页的标准标记语言,常常和css js一起使用来构建漂亮的页面。
标记性语言:
xml(微信),安卓app
markdown
html
标签:是用来在HTML当中打标记的单位
表示连接的标签
表示图片的标签
表示输入框的标签
标签的表示方式:(一般来说是成对出现的
)
1、<标签名>内容</标签名>
2、<标签名 属性名=“属性值” 属性名2=“属性值2”>内容 <标签名>
标签的具体组成部分:
标签名称
标签属性
文本内容
下属标签
title:title是放在head里面的
heading<1-6>
段落 paramgraph(
内容
)拆行 branch
换行
分割线,是水平线,不需要开闭
列表:
列表嵌套:
表格:
标签:对应的是一种类型的展示方式
属性:既可以丰富特征,又可以改变标签的展示。
a标签一般是和href属性绑定起来使用的。
img标签:是和src属性组合使用的,控制图片的大小(width ,height),点击图片进入某网址(把img包含在a标签中)
块元素和内联元素:
3、iframe
iframe:在一个网页里嵌套一个子网页。
input输入框
input元素一定要带name属性
Redio。CheckBox要带value属性
如果要赋值,就是value会传到外端服务器(name \value)
默认值:checked
选择器:select
文件上传
属性总结:1、ID必须要唯一,不唯一浏览器不会识别到,但是会产生严重的影响,是编程人员的问题,form设同一个id.
2、name不是唯一的,当a有两个相同的name,锚会定位到第一个。name的作用非常重要,作为可与服务器交互数据的html元素的服务器端的标识,分组,锚点
3.value值很重要
4、style通常会被css文件代替
5、class通常用来做样式分离,可以同时有多个值,用空格分开。可以根据class元素定位。
6、readonly和disabled.readonly只针对input和textarea有效,而disabled对于所有的表单元素都有效,包括select、Redio、CheckBox。
checked:默认值
form表单的作用:通过接口传送数据。
from selenium import webdriver
import time
#初始化浏览器
# browser=webdriver.Chrome(executable_path=r"D:\chromedriver\chrome.exe")
browser = webdriver.Chrome()
browser.get(http://www.baidu.com")
#放大窗口
time.sleep(2)
browser.maximize_window()
time.sleep(2)
#缩小窗口
browser.minimize_window()
#设置窗口的大小,长宽为参数传递进去
browser.set_window_size(800,600)
#UI:用户界面
#web是一种界面
#app
#桌面应用,GUI
#访问其他网页
browser.get("http://www.douban.com")
#后退back
browser.back()
#前进forward
browser.forward()
#刷新
browser.refresh()
#关闭浏览器
browser.quit()
#关闭标签页
browser.close()
#获取网页的url地址
print(browser.current_url)
#获取网页的标题
print(browser.title)
#获取网页的源代码
print(browser.page_source)
#获取所有的窗口
print(browser.window_handles)
#获取现在正处于的标签页,窗口句柄,窗口id
print(browser.current_window_handle)
元素定位
元素等待
4、selenium框架原理、浏览器常用操作