IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 2.selenium 元素操作+操作浏览器+获取元素信息+鼠标和键盘操作 -> 正文阅读

[Python知识库]2.selenium 元素操作+操作浏览器+获取元素信息+鼠标和键盘操作

4.元素操作

4.1.为社么要学习操作元素方法?

  1. 需要让脚本模拟用户给指定元素输入值
  2. 需要让脚本模拟人为删除元素的内容
  3. 需要让脚本模拟点击操作

4.2元素常用操作方法

  1. click() 单击元素
  2. send_keys() 模拟输入
  3. clear() 清除文本

4.3.案例

打开百度页面
输入hello
间隔三秒,修改为hello world
间隔三秒,点击确定
间隔三秒,关闭浏览器

from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys('hello ')
sleep(2)

#修改输入内容---->清空操作
driver.find_element_by_id('kw').clear()
driver.find_element_by_id('kw').send_keys('hello  world')

sleep(3)
driver.find_element_by_id('su').click()

sleep(3)
driver.quit()

5.操作浏览器

5.1操作浏览器常用方法

方法说明
1.maximize_window()最大化浏览器窗口–>模拟浏览器最大化窗口
2. set_window_size(width,height)设置浏览器窗口大小–>设置浏览器宽,高(像素点)
3.set_window_position(x,y)设置浏览器位置–>设置浏览器位置
4.back()后退–>模拟浏览器后退按钮
5.forword()前进–>模拟浏览器前进按钮
6.refresh()刷新–>模拟浏览器F5刷新
7. close()关闭当前窗口–>模拟点击浏览器关闭按钮
8.quit()关闭浏览器驱动对象–>关闭所有程序启动的窗口
9.title获取页面title
10.current_url获取当前页面url

5.2案例(1,2,3,4,5)

from selenium import webdriver
from time import sleep

#浏览器最大化,位置,大小,前进,后退


driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
#将浏览器最大化
driver.maximize_window()
#暂停2m
sleep(2)
#设置固定大小(300,200)
driver.set_window_size(300,200)
#暂停2m
sleep(2)
#移动浏览器窗口位置:x:320,y:150
driver.set_window_position(320,150)
#暂停2m
sleep(2)
#最大化
driver.maximize_window()
#点击“地图”访问网站,注意:要演示后退功能,必须先执行打开一个新的网站
driver.find_element_by_link_text('地图').click()

#暂停2m
sleep(10)
#执行后退--->百度页面
driver.back()

#暂停2m
sleep(10)
#执行前进--->地图页面。注意:前进必须放在后退操作后执行
driver.forward()

sleep(3)
driver.quit()

5.3案例(6.7.8.9.10)

from selenium import webdriver
from time import sleep

#浏览器title,quit,close,refresh,current_url


driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
#刷新
driver.find_element_by_id('kw').send_keys('hello')
sleep(4)
driver.refresh()
#获取title
title=driver.title#字符串
print(title)
#获取当前url
current_url=driver.current_url#字符串
print(current_url)
#点击“地图”访问网站,注意:要演示后退功能,必须先执行打开一个新的网站
driver.find_element_by_link_text('地图').click()
sleep(10)
#close:关闭主窗口
driver.close()

#暂停2m
sleep(10)
#quit()
driver.quit()

6.获取元素信息

6.1为什么要学习获取元素信息的方法

  • 如何获取元素的文本?
  • 如何获取元素属性值?
  • 如何让程序判断元素是否为可见状态?

6.2获取元素信息的常用方法

方法说明
size返回元素大小
*****text获取元素的文本
get_attribute(“xxx”)获取属性值,传递的参数为元素的属性名
is_displayed()判断元素是否可见
is_enabled()判断元素是否可用
is_selected()判断元素是否选中,用来检查复选框或单选按钮是否被选中

6.3.案例

需求:http://www.baidu.com,完成以下操作
获取输入框大小
获取页面第一个超链接的文本内容
获取页面上第一个超链接的地址
判断页面的span标签是否可见
判断页面中百度以下按钮是否可见
X :判断页面中复选框是否为选中状态

from selenium import webdriver
from time import sleep

#元素常用操作方法


driver=webdriver.Chrome()
driver.get('http://www.baidu.com')

#获取输入框大小
size=driver.find_element_by_id('kw').size
print('获取输入框大小为',size)
#获取页面第一个超链接的文本内容
text=driver.find_element_by_css_selector('a').text
print('页面第一个超链接的文本内容为',text)
#获取页面上第一个超链接的地址 get_attribute('href')
attribute=driver.find_element_by_css_selector('a').get_attribute('href')
print('页面上第一个超链接的地址为',attribute)
#判断页面的span标签是否可见
display=driver.find_element_by_css_selector('span').is_displayed()
print('页面的span标签是否可见',display)
#判断页面中百度以下按钮是否可见
enable=driver.find_element_by_id('su').is_enabled()
print('页面中百度以下按钮是否可见',enable)
#X   :判断页面中复选框是否为选中状态
#select=driver.find_element_by_css_selector('').is_selected()
#暂停2m
sleep(10)
#quit()
driver.quit()

输出:
获取输入框大小为 {‘height’: 44, ‘width’: 548}
页面第一个超链接的文本内容为
页面上第一个超链接的地址为 https://www.baidu.com/
页面的span标签是否可见 True
页面中百度以下按钮是否可见 True

7.鼠标和键盘操作

7.1鼠标操作:点击,右击,双击,悬停,拖拽。

7.2为什么要用鼠标操作?

web产品中存在丰富的鼠标交互方式,作为一个web自动化测试框架,需要应对这些鼠标操作的应用场景

7.3鼠标常见操作方法

selenium中将鼠标操作的方法封装在ActionChains中
需实例化对象:action=ActionChains(driver)

方法说明
1.context_click(element)右击---->模拟鼠标右键点击效果
2.double_click(element)双击
3.drag_and_drop(source,target)拖动
4.move_to_eleement(eleement)悬停
5.perform()执行—>此方法用来执行以上所有鼠标操作,不然不能够实现

7.4.案例 1.2.4.5

from selenium import webdriver
from time import sleep
from selenium.webdriver import ActionChains
#mouse


driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
#实例化,并获取ActionChains类
action=ActionChains(driver)
#定位文本框 ,右击 --->粘贴
#获取文本框元素
id=driver.find_element_by_id('kw')
#右击
action.context_click(id).perform()
sleep(10)
#双击‘文本框’--->选中内容
driver.find_element_by_id('kw').send_keys("hello")
action.double_click(id).perform()
sleep(10)
#悬停    移动到‘百度一下’按钮上,颜色变为蓝色
action.move_to_element(driver.find_element_by_id('su')).perform()

#拖拽  action.click_and_hold()
sleep(10)
#quit()
driver.quit()

注意:定位文本框 ,右击 —>粘贴内容只能用于firefox,ie浏览器,不能用于chrome浏览器

from selenium import webdriver
from time import sleep
from selenium.webdriver import ActionChains
#mouse  右击扩展

#定位文本框 ,右击 --->粘贴内容只能用于firefox,ie浏览器,不能用于chrome浏览器
driver=webdriver.Firefox()
driver.get('http://www.baidu.com')
#实例化,并获取ActionChains类
action=ActionChains(driver)
#定位文本框 ,右击 --->粘贴
#获取文本框元素

id=driver.find_element_by_id('kw')
#点击右键
action.context_click(id).perform()
#发送p,快捷菜单(粘贴)
id.send_keys('p')

sleep(10)

sleep(10)
#quit()
driver.quit()

7.5案例 3拖拽

7.6键盘操作:
selenium中将键盘的按键都封装在keys中
导包:from selenium.webdriver.common.keys import keys
7.7常见的键盘操作

方法说明
1.send_keys(keys.BACK_SPACE)删除键 backspace
2.send_keys(keys.SPACE)空格键 space
3.send_keys(keys.TAB)制表键tab
4.send_keys(keys.ESCAPE)回退键esc
5.send_keys(keys.ENTER)enter
6.send_keys(keys.CONTROL,‘a’)全选(ctrl+a)
7.send_keys(keys.CONTROL,‘c’)复制(ctrl+c)

7.8案例

打开百度页面
输入12345,暂停3m,删除5;
全选输入内容,暂停3m;
复制输入内容,暂停3m;
清空,暂停3m,粘贴至输入框

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:25:22  更:2021-07-13 17:26:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 0:10:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码